Btrfs: Use map_private_extent_buffer during generic_bin_search
authorChris Mason <chris.mason@oracle.com>
Mon, 8 Dec 2008 21:43:10 +0000 (16:43 -0500)
committerChris Mason <chris.mason@oracle.com>
Mon, 8 Dec 2008 21:43:10 +0000 (16:43 -0500)
commit934d375bacf9ea8a37fbfff5f3cf1c093f324095
treee81948e6e26028fd979ce59f4fc5988c1813694c
parenta512bbf855ff0af474257475f2e6da7acd854f52
Btrfs: Use map_private_extent_buffer during generic_bin_search

It is possible that generic_bin_search will be called on a tree block
that has not been locked.  This happens because cache_block_block skips
locking on the tree blocks.

Since the tree block isn't locked, we aren't allowed to change
the extent_buffer->map_token field.  Using map_private_extent_buffer
avoids any changes to the internal extent buffer fields.

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