]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
btrfs: drop useless inode i_flags copy and restore
authorAnand Jain <anand.jain@oracle.com>
Sat, 20 Apr 2019 11:48:54 +0000 (19:48 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 29 Apr 2019 17:02:53 +0000 (19:02 +0200)
The patch ("btrfs: start transaction in btrfs_ioctl_setflags()") used
btrfs_set_prop() instead of btrfs_set_prop_trans() by which now the
inode::i_flags update functions such as
btrfs_sync_inode_flags_to_i_flags() and btrfs_update_inode() is called
in btrfs_ioctl_setflags() instead of
btrfs_set_prop_trans()->btrfs_setxattr() as earlier. So the
inode::i_flags remains unmodified until the thread has checked all the
conditions. So drop the saved inode::i_flags in out_i_flags.

Signed-off-by: Anand Jain <anand.jain@oracle.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/ioctl.c

index 87b473dcdd52465972fdb058ad9b943883be7cfd..4f235f4c66c54e4438975788b7feda0ac9c67da1 100644 (file)
@@ -190,7 +190,6 @@ static int btrfs_ioctl_setflags(struct file *file, void __user *arg)
        unsigned int fsflags, old_fsflags;
        int ret;
        u64 old_flags;
-       unsigned int old_i_flags;
        umode_t mode;
        const char *comp = NULL;
 
@@ -214,7 +213,6 @@ static int btrfs_ioctl_setflags(struct file *file, void __user *arg)
        inode_lock(inode);
 
        old_flags = binode->flags;
-       old_i_flags = inode->i_flags;
        mode = inode->i_mode;
 
        fsflags = btrfs_mask_fsflags_for_type(inode, fsflags);
@@ -339,7 +337,6 @@ static int btrfs_ioctl_setflags(struct file *file, void __user *arg)
  out_drop:
        if (ret) {
                binode->flags = old_flags;
-               inode->i_flags = old_i_flags;
        }
 
  out_unlock: