diff options
author | Chris Mason <chris.mason@oracle.com> | 2011-04-16 06:55:39 -0400 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2011-04-16 06:55:39 -0400 |
commit | 0d399205edf3a4c290e76ebb36e541593af4a1b4 (patch) | |
tree | 980af1dc3d803727d658aaa7b8565e06009e85e3 /fs | |
parent | 0e4f8f888845f9dca540ad175884244e5db5eea2 (diff) |
Btrfs end_bio_extent_readpage should look for locked bits
A recent commit caches the extent state in end_bio_extent_readpage,
but the search it does should look for locked extents. This
fixes things to make it more effective.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/btrfs/extent_io.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index 1c462f895c98..5ae0bffaa4d8 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c | |||
@@ -1761,7 +1761,7 @@ static void end_bio_extent_readpage(struct bio *bio, int err) | |||
1761 | prefetchw(&bvec->bv_page->flags); | 1761 | prefetchw(&bvec->bv_page->flags); |
1762 | 1762 | ||
1763 | spin_lock(&tree->lock); | 1763 | spin_lock(&tree->lock); |
1764 | state = find_first_extent_bit_state(tree, start, 0); | 1764 | state = find_first_extent_bit_state(tree, start, EXTENT_LOCKED); |
1765 | if (state && state->start == start) { | 1765 | if (state && state->start == start) { |
1766 | /* | 1766 | /* |
1767 | * take a reference on the state, unlock will drop | 1767 | * take a reference on the state, unlock will drop |