aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/file.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs/file.c')
-rw-r--r--fs/btrfs/file.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c
index 8e686a427ce2..bc5072b2db53 100644
--- a/fs/btrfs/file.c
+++ b/fs/btrfs/file.c
@@ -1334,7 +1334,6 @@ fail:
1334static noinline int check_can_nocow(struct inode *inode, loff_t pos, 1334static noinline int check_can_nocow(struct inode *inode, loff_t pos,
1335 size_t *write_bytes) 1335 size_t *write_bytes)
1336{ 1336{
1337 struct btrfs_trans_handle *trans;
1338 struct btrfs_root *root = BTRFS_I(inode)->root; 1337 struct btrfs_root *root = BTRFS_I(inode)->root;
1339 struct btrfs_ordered_extent *ordered; 1338 struct btrfs_ordered_extent *ordered;
1340 u64 lockstart, lockend; 1339 u64 lockstart, lockend;
@@ -1356,16 +1355,8 @@ static noinline int check_can_nocow(struct inode *inode, loff_t pos,
1356 btrfs_put_ordered_extent(ordered); 1355 btrfs_put_ordered_extent(ordered);
1357 } 1356 }
1358 1357
1359 trans = btrfs_join_transaction(root);
1360 if (IS_ERR(trans)) {
1361 unlock_extent(&BTRFS_I(inode)->io_tree, lockstart, lockend);
1362 return PTR_ERR(trans);
1363 }
1364
1365 num_bytes = lockend - lockstart + 1; 1358 num_bytes = lockend - lockstart + 1;
1366 ret = can_nocow_extent(trans, inode, lockstart, &num_bytes, NULL, NULL, 1359 ret = can_nocow_extent(inode, lockstart, &num_bytes, NULL, NULL, NULL);
1367 NULL);
1368 btrfs_end_transaction(trans, root);
1369 if (ret <= 0) { 1360 if (ret <= 0) {
1370 ret = 0; 1361 ret = 0;
1371 } else { 1362 } else {
@@ -1727,7 +1718,7 @@ static ssize_t btrfs_file_aio_write(struct kiocb *iocb,
1727 */ 1718 */
1728 BTRFS_I(inode)->last_trans = root->fs_info->generation + 1; 1719 BTRFS_I(inode)->last_trans = root->fs_info->generation + 1;
1729 BTRFS_I(inode)->last_sub_trans = root->log_transid; 1720 BTRFS_I(inode)->last_sub_trans = root->log_transid;
1730 if (num_written > 0 || num_written == -EIOCBQUEUED) { 1721 if (num_written > 0) {
1731 err = generic_write_sync(file, pos, num_written); 1722 err = generic_write_sync(file, pos, num_written);
1732 if (err < 0 && num_written > 0) 1723 if (err < 0 && num_written > 0)
1733 num_written = err; 1724 num_written = err;