]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commit - fs/xfs/libxfs/xfs_bmap.c
xfs: only lock the rt bitmap inode once per allocation
authorChristoph Hellwig <hch@infradead.org>
Tue, 25 Jan 2011 09:06:19 +0000 (09:06 +0000)
committerAlex Elder <aelder@sgi.com>
Mon, 7 Feb 2011 19:29:06 +0000 (13:29 -0600)
commit04e99455ea5bb17ea7c2e7bb0970168efb736242
tree6990228f08cf4ffdfe454bd3d4e88f42b23f9cf8
parent24446fc66fdebbdd8baca0f44fd2a47ad77ba580
xfs: only lock the rt bitmap inode once per allocation

Currently both xfs_rtpick_extent and xfs_rtallocate_extent call
xfs_trans_iget to grab and lock the rt bitmap inode, which results in a
deadlock since the removal of the lock recursion counters in commit

"xfs: simplify inode to transaction joining"

Fix this by acquiring and locking the inode in xfs_bmap_rtalloc before
calling into xfs_rtpick_extent and xfs_rtallocate_extent.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Alex Elder <aelder@sgi.com>
fs/xfs/xfs_bmap.c
fs/xfs/xfs_rtalloc.c