coda: avoid hidden code duplication in rename
authorJan Harkes <jaharkes@cs.cmu.edu>
Tue, 9 Nov 2021 02:34:42 +0000 (18:34 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 9 Nov 2021 18:02:51 +0000 (10:02 -0800)
We were actually fixing up the directory mtime in both branches after the
negative dentry test, it was just that one branch was only flagging the
directory inodes to refresh their attributes while the other branch used
the optional optimization to set mtime to the current time and not go back
to the Coda client.

Link: https://lkml.kernel.org/r/20210908140308.18491-6-jaharkes@cs.cmu.edu
Signed-off-by: Jan Harkes <jaharkes@cs.cmu.edu>
Cc: Alex Shi <alex.shi@linux.alibaba.com>
Cc: Jing Yangyang <jing.yangyang@zte.com.cn>
Cc: Xin Tan <tanxin.ctf@gmail.com>
Cc: Xiyu Yang <xiyuyang19@fudan.edu.cn>
Cc: Zeal Robot <zealci@zte.com.cn>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/coda/dir.c

index 3fd0850..328d7a6 100644 (file)
@@ -317,13 +317,10 @@ static int coda_rename(struct user_namespace *mnt_userns, struct inode *old_dir,
                                coda_dir_drop_nlink(old_dir);
                                coda_dir_inc_nlink(new_dir);
                        }
-                       coda_dir_update_mtime(old_dir);
-                       coda_dir_update_mtime(new_dir);
                        coda_flag_inode(d_inode(new_dentry), C_VATTR);
-               } else {
-                       coda_flag_inode(old_dir, C_VATTR);
-                       coda_flag_inode(new_dir, C_VATTR);
                }
+               coda_dir_update_mtime(old_dir);
+               coda_dir_update_mtime(new_dir);
        }
        return error;
 }