btrfs: drop useless inode i_flags copy and restore
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>
This commit is contained in:
Родитель
ff9fef559b
Коммит
11d3cd5c62
|
@ -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:
|
||||
|
|
Загрузка…
Ссылка в новой задаче