aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/ioctl.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs/ioctl.c')
-rw-r--r--fs/btrfs/ioctl.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index 908c3d4b48c6..a578620e06a8 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -2177,9 +2177,7 @@ static long btrfs_ioctl_trans_start(struct file *file)
2177 if (ret) 2177 if (ret)
2178 goto out; 2178 goto out;
2179 2179
2180 mutex_lock(&root->fs_info->trans_mutex); 2180 atomic_inc(&root->fs_info->open_ioctl_trans);
2181 root->fs_info->open_ioctl_trans++;
2182 mutex_unlock(&root->fs_info->trans_mutex);
2183 2181
2184 ret = -ENOMEM; 2182 ret = -ENOMEM;
2185 trans = btrfs_start_ioctl_transaction(root); 2183 trans = btrfs_start_ioctl_transaction(root);
@@ -2190,9 +2188,7 @@ static long btrfs_ioctl_trans_start(struct file *file)
2190 return 0; 2188 return 0;
2191 2189
2192out_drop: 2190out_drop:
2193 mutex_lock(&root->fs_info->trans_mutex); 2191 atomic_dec(&root->fs_info->open_ioctl_trans);
2194 root->fs_info->open_ioctl_trans--;
2195 mutex_unlock(&root->fs_info->trans_mutex);
2196 mnt_drop_write(file->f_path.mnt); 2192 mnt_drop_write(file->f_path.mnt);
2197out: 2193out:
2198 return ret; 2194 return ret;
@@ -2426,9 +2422,7 @@ long btrfs_ioctl_trans_end(struct file *file)
2426 2422
2427 btrfs_end_transaction(trans, root); 2423 btrfs_end_transaction(trans, root);
2428 2424
2429 mutex_lock(&root->fs_info->trans_mutex); 2425 atomic_dec(&root->fs_info->open_ioctl_trans);
2430 root->fs_info->open_ioctl_trans--;
2431 mutex_unlock(&root->fs_info->trans_mutex);
2432 2426
2433 mnt_drop_write(file->f_path.mnt); 2427 mnt_drop_write(file->f_path.mnt);
2434 return 0; 2428 return 0;