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.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index bd88f25889f7..ef0188fb3cc4 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -596,9 +596,8 @@ again:
596 clear_page_dirty_for_io(page); 596 clear_page_dirty_for_io(page);
597 597
598 btrfs_set_extent_delalloc(inode, page_start, page_end); 598 btrfs_set_extent_delalloc(inode, page_start, page_end);
599
600 unlock_extent(io_tree, page_start, page_end, GFP_NOFS);
601 set_page_dirty(page); 599 set_page_dirty(page);
600 unlock_extent(io_tree, page_start, page_end, GFP_NOFS);
602 unlock_page(page); 601 unlock_page(page);
603 page_cache_release(page); 602 page_cache_release(page);
604 balance_dirty_pages_ratelimited_nr(inode->i_mapping, 1); 603 balance_dirty_pages_ratelimited_nr(inode->i_mapping, 1);
@@ -976,7 +975,7 @@ static long btrfs_ioctl_clone(struct file *file, unsigned long srcfd,
976 975
977 /* punch hole in destination first */ 976 /* punch hole in destination first */
978 btrfs_drop_extents(trans, root, inode, off, off + len, 977 btrfs_drop_extents(trans, root, inode, off, off + len,
979 off + len, 0, &hint_byte); 978 off + len, 0, &hint_byte, 1);
980 979
981 /* clone data */ 980 /* clone data */
982 key.objectid = src->i_ino; 981 key.objectid = src->i_ino;