Btrfs: fix wrong sync_writers decrement in btrfs_file_aio_write()
If the checks at the beginning of btrfs_file_aio_write() fail, we needn't decrease ->sync_writers, because we have not increased it. Fix it. Signed-off-by: Miao Xie <miaox@cn.fujitsu.com> Signed-off-by: Josef Bacik <jbacik@fusionio.com>
This commit is contained in:
parent
222c81dc38
commit
0a3404dcff
1 changed files with 2 additions and 1 deletions
|
@ -1595,9 +1595,10 @@ static ssize_t btrfs_file_aio_write(struct kiocb *iocb,
|
||||||
if (err < 0 && num_written > 0)
|
if (err < 0 && num_written > 0)
|
||||||
num_written = err;
|
num_written = err;
|
||||||
}
|
}
|
||||||
out:
|
|
||||||
if (sync)
|
if (sync)
|
||||||
atomic_dec(&BTRFS_I(inode)->sync_writers);
|
atomic_dec(&BTRFS_I(inode)->sync_writers);
|
||||||
|
out:
|
||||||
sb_end_write(inode->i_sb);
|
sb_end_write(inode->i_sb);
|
||||||
current->backing_dev_info = NULL;
|
current->backing_dev_info = NULL;
|
||||||
return num_written ? num_written : err;
|
return num_written ? num_written : err;
|
||||||
|
|
Loading…
Reference in a new issue