Btrfs: use the right node in reada_for_balance
authorChris Mason <chris.mason@oracle.com>
Mon, 20 Apr 2009 19:50:10 +0000 (15:50 -0400)
committerChris Mason <chris.mason@oracle.com>
Mon, 20 Apr 2009 19:53:09 +0000 (15:53 -0400)
commit8c594ea81d7abbbffdda447b127f8ba8d76f319d
tree3f18a865e9795e40e2f4b086a01022accb1070b7
parent11c8349b4eb68f2b04cd8ece577377e6c0e5dd4b
Btrfs: use the right node in reada_for_balance

reada_for_balance was using the wrong index into the path node array,
so it wasn't reading the right blocks.  We never directly used the
results of the read done by this function because the btree search is
started over at the end.

This fixes reada_for_balance to reada in the correct node and to
avoid searching past the last slot in the node.  It also makes sure to
hold the parent lock while we are finding the nodes to read.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/ctree.c