]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
ext4: reduce arguments of ext4_fc_add_dentry_tlv
authorGuoqing Jiang <jiangguoqing@kylinos.cn>
Tue, 27 Jul 2021 08:07:08 +0000 (16:07 +0800)
committerTheodore Ts'o <tytso@mit.edu>
Tue, 31 Aug 2021 03:36:50 +0000 (23:36 -0400)
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 <jiangguoqing@kylinos.cn>
Reviewed-by: Harshad Shirwadkar <harshadshirwadkar@gmail.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Link: https://lore.kernel.org/r/20210727080708.3708814-1-guoqing.jiang@linux.dev
fs/ext4/fast_commit.c

index e8195229c2529b3d5f1b78865fa3d4a74b2274fb..8e610a381862f8db5029858f45dcdb5277b76622 100644 (file)
@@ -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;
@@ -992,11 +991,7 @@ __releases(&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;
                        }
@@ -1035,11 +1030,7 @@ __releases(&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;
                }