Btrfs: fix ctime update of on-disk inode
PATCH 1/1 Btrfs: fix ctime update of on-disk inode
To reproduce the bug:
# touch /mnt/tmp
# stat /mnt/tmp | grep Change
Change: 2011-12-09 09:32:23.412105981 +0800
# chattr +i /mnt/tmp
# stat /mnt/tmp | grep Change
Change: 2011-12-09 09:32:43.198105295 +0800
# umount /mnt
# mount /dev/loop1 /mnt
# stat /mnt/tmp | grep Change
Change: 2011-12-09 09:32:23.412105981 +0800We should update ctime of in-memory inode before calling btrfs_update_inode().
Signed-off-by Li Zefan <[email protected]>
--- fs/btrfs/ioctl.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
fs/btrfs/ioctl.c +2 -2
@@ -252,11 +252,11 @@ static int btrfs_ioctl_setflags(struct file *file, void __user *arg) trans =btrfs_join_transaction (root);BUG_ON (IS_ERR (trans)); +btrfs_update_iflags (inode); + inode->i_ctime =CURRENT_TIME ; ret =btrfs_update_inode (trans, root, inode);BUG_ON (ret); -btrfs_update_iflags (inode); - inode->i_ctime =CURRENT_TIME ;btrfs_end_transaction (trans, root);mnt_drop_write (file->f_path.mnt);
Signature · 1 line
1.7.3.1
Quoted 13 lines · Li Zefan
To reproduce the bug:
# touch /mnt/tmp # stat /mnt/tmp | grep Change Change: 2011-12-09 09:32:23.412105981 +0800 # chattr +i /mnt/tmp # stat /mnt/tmp | grep Change Change: 2011-12-09 09:32:43.198105295 +0800 # umount /mnt # mount /dev/loop1 /mnt # stat /mnt/tmp | grep Change Change: 2011-12-09 09:32:23.412105981 +0800
Quoted 2 lines
We should update ctime of in-memory inode before calling
btrfs_update_inode().
Can you submit this one as a test for xfstests?
Quoted 14 lines · Christoph Hellwig
Quoted 13 lines · Li Zefan
To reproduce the bug:
# touch /mnt/tmp # stat /mnt/tmp | grep Change Change: 2011-12-09 09:32:23.412105981 +0800 # chattr +i /mnt/tmp # stat /mnt/tmp | grep Change Change: 2011-12-09 09:32:43.198105295 +0800 # umount /mnt # mount /dev/loop1 /mnt # stat /mnt/tmp | grep Change Change: 2011-12-09 09:32:23.412105981 +0800
Quoted 5 lines
Quoted 2 lines
We should update ctime of in-memory inode before calling
btrfs_update_inode().Can you submit this one as a test for xfstests?
Sure.