summaryrefslogtreecommitdiffstats
path: root/fs/btrfs
diff options
context:
space:
mode:
authorLinus Torvalds2013-10-19 01:46:21 +0200
committerLinus Torvalds2013-10-19 01:46:21 +0200
commitbdeeab62a611f1f7cd48fd285ce568e8dcd0455a (patch)
tree93e5e16b5ef769093dca6cb23e44b83433f4b688 /fs/btrfs
parentMerge tag 'pm+acpi-3.12-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git... (diff)
parentBtrfs: release path before starting transaction in can_nocow_extent (diff)
downloadkernel-qcow2-linux-bdeeab62a611f1f7cd48fd285ce568e8dcd0455a.tar.gz
kernel-qcow2-linux-bdeeab62a611f1f7cd48fd285ce568e8dcd0455a.tar.xz
kernel-qcow2-linux-bdeeab62a611f1f7cd48fd285ce568e8dcd0455a.zip
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs
Pull btrfs fix from Chris Mason: "Sage hit a deadlock with ceph on btrfs, and Josef tracked it down to a regression in our initial rc1 pull. When doing nocow writes we were sometimes starting a transaction with locks held" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: Btrfs: release path before starting transaction in can_nocow_extent
Diffstat (limited to 'fs/btrfs')
-rw-r--r--fs/btrfs/inode.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index b0ef7b07b1b3..51e3afa78354 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -6437,6 +6437,7 @@ noinline int can_nocow_extent(struct inode *inode, u64 offset, u64 *len,
if (btrfs_extent_readonly(root, disk_bytenr))
goto out;
+ btrfs_release_path(path);
/*
* look for other files referencing this extent, if we