]> git.karo-electronics.de Git - karo-tx-linux.git/commit
xfs: use b_maps[] for discontiguous buffers
authorMark Tinguely <tinguely@sgi.com>
Tue, 4 Dec 2012 23:18:02 +0000 (17:18 -0600)
committerBen Myers <bpm@sgi.com>
Mon, 17 Dec 2012 22:19:56 +0000 (16:19 -0600)
commitf4b42421d80cac4291dd82bd97baa1bc06b351fc
tree04c5c95e2f3aff25af790789a74814d7dd080464
parentf9668a09e32ac6d2aa22f44cc310e430a8f4a40f
xfs: use b_maps[] for discontiguous buffers

Commits starting at 77c1a08 introduced a multiple segment support
to xfs_buf. xfs_trans_buf_item_match() could not find a multi-segment
buffer in the transaction because it was looking at the single segment
block number rather than the multi-segment b_maps[0].bm.bn. This
results on a recursive buffer lock that can never be satisfied.

This patch:
 1) Changed the remaining b_map accesses to be b_maps[0] accesses.
 2) Renames the single segment b_map structure to __b_map to avoid
    future confusion.

Signed-off-by: Mark Tinguely <tinguely@sgi.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Ben Myers <bpm@sgi.com>
fs/xfs/xfs_buf.c
fs/xfs/xfs_buf.h