diff options
Diffstat (limited to 'fs/btrfs/ioctl.c')
-rw-r--r-- | fs/btrfs/ioctl.c | 12 |
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 | ||
2192 | out_drop: | 2190 | out_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); |
2197 | out: | 2193 | out: |
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; |