diff options
author | Jeff Mahoney <jeffm@suse.com> | 2014-02-07 14:33:57 +0100 |
---|---|---|
committer | Chris Mason <clm@fb.com> | 2014-02-08 17:57:15 -0800 |
commit | d0270aca88966641eb15306e9bd0c7ad15321440 (patch) | |
tree | 807ba712623cff5b6f90f294e6671ca2520901ad /fs/btrfs | |
parent | 6cc98d90f8d14f8ebce2391323929024d7eef39f (diff) | |
download | op-kernel-dev-d0270aca88966641eb15306e9bd0c7ad15321440.zip op-kernel-dev-d0270aca88966641eb15306e9bd0c7ad15321440.tar.gz |
btrfs: commit transaction after setting label and features
The set_fslabel ioctl uses btrfs_end_transaction, which means it's
possible that the change will be lost if the system crashes, same for
the newly set features. Let's use btrfs_commit_transaction instead.
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Chris Mason <clm@fb.com>
Diffstat (limited to 'fs/btrfs')
-rw-r--r-- | fs/btrfs/ioctl.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c index 34772cb..5bbf6b7 100644 --- a/fs/btrfs/ioctl.c +++ b/fs/btrfs/ioctl.c @@ -4547,7 +4547,7 @@ static int btrfs_ioctl_set_fslabel(struct file *file, void __user *arg) spin_lock(&root->fs_info->super_lock); strcpy(super_block->label, label); spin_unlock(&root->fs_info->super_lock); - ret = btrfs_end_transaction(trans, root); + ret = btrfs_commit_transaction(trans, root); out_unlock: mnt_drop_write_file(file); @@ -4711,7 +4711,7 @@ static int btrfs_ioctl_set_features(struct file *file, void __user *arg) btrfs_set_super_incompat_flags(super_block, newflags); spin_unlock(&root->fs_info->super_lock); - return btrfs_end_transaction(trans, root); + return btrfs_commit_transaction(trans, root); } long btrfs_ioctl(struct file *file, unsigned int |