diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c index 841cfe3be0e004f304510222e5d2b0a86ec20e2c..a902faab7161f4a75c6aca228817c313bb33aa5f 100644 --- a/fs/btrfs/file.c +++ b/fs/btrfs/file.c @@ -1595,9 +1595,10 @@ static ssize_t btrfs_file_aio_write(struct kiocb *iocb, if (err < 0 && num_written > 0) num_written = err; } -out: + if (sync) atomic_dec(&BTRFS_I(inode)->sync_writers); +out: sb_end_write(inode->i_sb); current->backing_dev_info = NULL; return num_written ? num_written : err;