Skip to contentSkip to conversation

ext4: reduce arguments of ext4_fc_add_dentry_tlv

PATCH Applied Guoqing Jiang 3 participants 4 messages Jul 27, 2021 – Aug 13, 2021 ext4 file system

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 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.

---
 fs/ext4/fast_commit.c | 27 +++++++++------------------
 1 file changed, 9 insertions(+), 18 deletions(-)
fs/ext4/fast_commit.c +9 -18
index 5106c9fe2e19..797105adcabf 100644
@@ -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;
 		}
Signature · 1 line
2.25.1
Reviewed-by on v1 1/1
#1 lore raw

Thanks for the cleanup! Looks good.

Quoted 80 lines · Guoqing Jiang

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.

---
 fs/ext4/fast_commit.c | 27 +++++++++------------------
 1 file changed, 9 insertions(+), 18 deletions(-)
fs/ext4/fast_commit.c +9 -19
index 5106c9fe2e19..797105adcabf 100644
@@ -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

maintainer Applied
#3 lore raw
In reply to Guoqing Jiang
Quoted 2 lines · Guoqing Jiang

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,

Signature · 1 line
Theodore Ts'o <[email protected]>