2021-07-27 08:10:14

by Guoqing Jiang

[permalink] [raw]
Subject: [PATCH] ext4: reduce arguments of ext4_fc_add_dentry_tlv

From: Guoqing Jiang <[email protected]>

Let's pass fc_dentry directly since those arguments (tag, parent_ino and
ino etc) can be deferenced from it.

Signed-off-by: Guoqing Jiang <[email protected]>
---
fs/ext4/fast_commit.c | 27 +++++++++------------------
1 file changed, 9 insertions(+), 18 deletions(-)

diff --git a/fs/ext4/fast_commit.c b/fs/ext4/fast_commit.c
index 5106c9fe2e19..797105adcabf 100644
--- a/fs/ext4/fast_commit.c
+++ b/fs/ext4/fast_commit.c
@@ -775,28 +775,27 @@ static bool ext4_fc_add_tlv(struct super_block *sb, u16 tag, u16 len, u8 *val,
}

/* Same as above, but adds dentry tlv. */
-static bool ext4_fc_add_dentry_tlv(struct super_block *sb, u16 tag,
- int parent_ino, int ino, int dlen,
- const unsigned char *dname,
- u32 *crc)
+static bool ext4_fc_add_dentry_tlv(struct super_block *sb, u32 *crc,
+ struct ext4_fc_dentry_update *fc_dentry)
{
struct ext4_fc_dentry_info fcd;
struct ext4_fc_tl tl;
+ int dlen = fc_dentry->fcd_name.len;
u8 *dst = ext4_fc_reserve_space(sb, sizeof(tl) + sizeof(fcd) + dlen,
crc);

if (!dst)
return false;

- fcd.fc_parent_ino = cpu_to_le32(parent_ino);
- fcd.fc_ino = cpu_to_le32(ino);
- tl.fc_tag = cpu_to_le16(tag);
+ fcd.fc_parent_ino = cpu_to_le32(fc_dentry->fcd_parent);
+ fcd.fc_ino = cpu_to_le32(fc_dentry->fcd_ino);
+ tl.fc_tag = cpu_to_le16(fc_dentry->fcd_op);
tl.fc_len = cpu_to_le16(sizeof(fcd) + dlen);
ext4_fc_memcpy(sb, dst, &tl, sizeof(tl), crc);
dst += sizeof(tl);
ext4_fc_memcpy(sb, dst, &fcd, sizeof(fcd), crc);
dst += sizeof(fcd);
- ext4_fc_memcpy(sb, dst, dname, dlen, crc);
+ ext4_fc_memcpy(sb, dst, fc_dentry->fcd_name.name, dlen, crc);
dst += dlen;

return true;
@@ -991,11 +990,7 @@ __acquires(&sbi->s_fc_lock)
&sbi->s_fc_dentry_q[FC_Q_MAIN], fcd_list) {
if (fc_dentry->fcd_op != EXT4_FC_TAG_CREAT) {
spin_unlock(&sbi->s_fc_lock);
- if (!ext4_fc_add_dentry_tlv(
- sb, fc_dentry->fcd_op,
- fc_dentry->fcd_parent, fc_dentry->fcd_ino,
- fc_dentry->fcd_name.len,
- fc_dentry->fcd_name.name, crc)) {
+ if (!ext4_fc_add_dentry_tlv(sb, crc, fc_dentry)) {
ret = -ENOSPC;
goto lock_and_exit;
}
@@ -1034,11 +1029,7 @@ __acquires(&sbi->s_fc_lock)
if (ret)
goto lock_and_exit;

- if (!ext4_fc_add_dentry_tlv(
- sb, fc_dentry->fcd_op,
- fc_dentry->fcd_parent, fc_dentry->fcd_ino,
- fc_dentry->fcd_name.len,
- fc_dentry->fcd_name.name, crc)) {
+ if (!ext4_fc_add_dentry_tlv(sb, crc, fc_dentry)) {
ret = -ENOSPC;
goto lock_and_exit;
}
--
2.25.1



2021-07-27 17:37:54

by harshad shirwadkar

[permalink] [raw]
Subject: Re: [PATCH] ext4: reduce arguments of ext4_fc_add_dentry_tlv

Thanks for the cleanup! Looks good.

Reviewed-by: Harshad Shirwadkar <[email protected]>


On Tue, Jul 27, 2021 at 1:11 AM Guoqing Jiang <[email protected]> wrote:
>
> From: Guoqing Jiang <[email protected]>
>
> Let's pass fc_dentry directly since those arguments (tag, parent_ino and
> ino etc) can be deferenced from it.
>
> Signed-off-by: Guoqing Jiang <[email protected]>
> ---
> fs/ext4/fast_commit.c | 27 +++++++++------------------
> 1 file changed, 9 insertions(+), 18 deletions(-)
>
> diff --git a/fs/ext4/fast_commit.c b/fs/ext4/fast_commit.c
> index 5106c9fe2e19..797105adcabf 100644
> --- a/fs/ext4/fast_commit.c
> +++ b/fs/ext4/fast_commit.c
> @@ -775,28 +775,27 @@ static bool ext4_fc_add_tlv(struct super_block *sb, u16 tag, u16 len, u8 *val,
> }
>
> /* Same as above, but adds dentry tlv. */
> -static bool ext4_fc_add_dentry_tlv(struct super_block *sb, u16 tag,
> - int parent_ino, int ino, int dlen,
> - const unsigned char *dname,
> - u32 *crc)
> +static bool ext4_fc_add_dentry_tlv(struct super_block *sb, u32 *crc,
> + struct ext4_fc_dentry_update *fc_dentry)
> {
> struct ext4_fc_dentry_info fcd;
> struct ext4_fc_tl tl;
> + int dlen = fc_dentry->fcd_name.len;
> u8 *dst = ext4_fc_reserve_space(sb, sizeof(tl) + sizeof(fcd) + dlen,
> crc);
>
> if (!dst)
> return false;
>
> - fcd.fc_parent_ino = cpu_to_le32(parent_ino);
> - fcd.fc_ino = cpu_to_le32(ino);
> - tl.fc_tag = cpu_to_le16(tag);
> + fcd.fc_parent_ino = cpu_to_le32(fc_dentry->fcd_parent);
> + fcd.fc_ino = cpu_to_le32(fc_dentry->fcd_ino);
> + tl.fc_tag = cpu_to_le16(fc_dentry->fcd_op);
> tl.fc_len = cpu_to_le16(sizeof(fcd) + dlen);
> ext4_fc_memcpy(sb, dst, &tl, sizeof(tl), crc);
> dst += sizeof(tl);
> ext4_fc_memcpy(sb, dst, &fcd, sizeof(fcd), crc);
> dst += sizeof(fcd);
> - ext4_fc_memcpy(sb, dst, dname, dlen, crc);
> + ext4_fc_memcpy(sb, dst, fc_dentry->fcd_name.name, dlen, crc);
> dst += dlen;
>
> return true;
> @@ -991,11 +990,7 @@ __acquires(&sbi->s_fc_lock)
> &sbi->s_fc_dentry_q[FC_Q_MAIN], fcd_list) {
> if (fc_dentry->fcd_op != EXT4_FC_TAG_CREAT) {
> spin_unlock(&sbi->s_fc_lock);
> - if (!ext4_fc_add_dentry_tlv(
> - sb, fc_dentry->fcd_op,
> - fc_dentry->fcd_parent, fc_dentry->fcd_ino,
> - fc_dentry->fcd_name.len,
> - fc_dentry->fcd_name.name, crc)) {
> + if (!ext4_fc_add_dentry_tlv(sb, crc, fc_dentry)) {
> ret = -ENOSPC;
> goto lock_and_exit;
> }
> @@ -1034,11 +1029,7 @@ __acquires(&sbi->s_fc_lock)
> if (ret)
> goto lock_and_exit;
>
> - if (!ext4_fc_add_dentry_tlv(
> - sb, fc_dentry->fcd_op,
> - fc_dentry->fcd_parent, fc_dentry->fcd_ino,
> - fc_dentry->fcd_name.len,
> - fc_dentry->fcd_name.name, crc)) {
> + if (!ext4_fc_add_dentry_tlv(sb, crc, fc_dentry)) {
> ret = -ENOSPC;
> goto lock_and_exit;
> }
> --
> 2.25.1
>

2021-07-29 09:36:49

by Guoqing Jiang

[permalink] [raw]
Subject: Re: [PATCH] ext4: reduce arguments of ext4_fc_add_dentry_tlv



On 7/28/21 1:36 AM, harshad shirwadkar wrote:
> Thanks for the cleanup! Looks good.
>
> Reviewed-by: Harshad Shirwadkar <[email protected]>

Thanks for your review!

Guoqing

2021-08-13 14:58:34

by Theodore Ts'o

[permalink] [raw]
Subject: Re: [PATCH] ext4: reduce arguments of ext4_fc_add_dentry_tlv

On Tue, 27 Jul 2021 16:07:08 +0800, Guoqing Jiang wrote:
> Let's pass fc_dentry directly since those arguments (tag, parent_ino and
> ino etc) can be deferenced from it.

Applied, thanks!

[1/1] ext4: reduce arguments of ext4_fc_add_dentry_tlv
commit: 78e89124cc42a0cbaf214ecd5021ee19ca4f9294

Best regards,
--
Theodore Ts'o <[email protected]>