]> www.infradead.org Git - users/jedix/linux-maple.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>
Wed, 16 Nov 2011 02:21:00 +0000 (21:21 -0500)
commit815505527a99d22b72889e7f6ec926a80d9b4a8f
tree602e9335e69f396442296cc26bd597b5972526f7
parent1de0423da2c03d1fdfe1fdd0b45c11330eb53e6a
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>
(cherry picked from commit 3254c87618354e58fa2a7b375c6664f567480c33)
fs/btrfs/inode.c