]> git.baikalelectronics.ru Git - kernel.git/commit
Btrfs: fix unreleased path in btrfs_orphan_cleanup()
authorMiao Xie <miaox@cn.fujitsu.com>
Fri, 11 Nov 2011 01:45:05 +0000 (20:45 -0500)
committerChris Mason <chris.mason@oracle.com>
Fri, 11 Nov 2011 01:45:05 +0000 (20:45 -0500)
commit119ec499dafd24ca53114d6d7a24036e0432badb
tree735c06e860467f567e12c81cabee7956baeee258
parenta532927a2adde9a69d2db62efac4d3c5cce8a6fc
Btrfs: fix unreleased path in btrfs_orphan_cleanup()

When we did stress test for the space relocation, the deadlock happened.
By debugging, We found it was caused by the carelessness that we forgot
to unlock the read lock of the extent buffers in btrfs_orphan_cleanup()
before we end the transaction handle, so the transaction commit task waited
the task, which called btrfs_orphan_cleanup(), to unlock the extent buffer,
but that task waited the commit task to end the transaction commit, and
the deadlock happened. Fix it.

Signed-ff-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/inode.c