summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/ioctl.c
diff options
context:
space:
mode:
authorYan, Zheng2009-11-12 10:34:08 +0100
committerChris Mason2009-12-16 03:24:52 +0100
commit920bbbfb05c9fce22e088d20eb9dcb8f96342de9 (patch)
treeb972b3f39ebefb9c026300c1981d18cad769e431 /fs/btrfs/ioctl.c
parentBtrfs: Add btrfs_duplicate_item (diff)
downloadkernel-qcow2-linux-920bbbfb05c9fce22e088d20eb9dcb8f96342de9.tar.gz
kernel-qcow2-linux-920bbbfb05c9fce22e088d20eb9dcb8f96342de9.tar.xz
kernel-qcow2-linux-920bbbfb05c9fce22e088d20eb9dcb8f96342de9.zip
Btrfs: Rewrite btrfs_drop_extents
Rewrite btrfs_drop_extents by using btrfs_duplicate_item, so we can avoid calling lock_extent within transaction. Signed-off-by: Yan Zheng <zheng.yan@oracle.com> Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/ioctl.c')
-rw-r--r--fs/btrfs/ioctl.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index cdbb054102b9..a1a8db8c149d 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -1027,8 +1027,7 @@ static noinline long btrfs_ioctl_clone(struct file *file, unsigned long srcfd,
BUG_ON(!trans);
/* punch hole in destination first */
- btrfs_drop_extents(trans, root, inode, off, off + len,
- off + len, 0, &hint_byte, 1);
+ btrfs_drop_extents(trans, inode, off, off + len, &hint_byte, 1);
/* clone data */
key.objectid = src->i_ino;