diff options
author | Arne Jansen <sensille@gmx.net> | 2011-04-06 10:02:20 +0000 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2011-04-11 20:45:36 -0400 |
commit | 507903b81840a70cc6a179d4eb03584ad50e8c5b (patch) | |
tree | ec3ccd0d2dd8feb15f4b01627112c8e2cf74d989 /fs/btrfs/extent_io.h | |
parent | e15d0542426f063dc53b4c51bdfc11e0bbe4d298 (diff) | |
download | lwn-507903b81840a70cc6a179d4eb03584ad50e8c5b.tar.gz lwn-507903b81840a70cc6a179d4eb03584ad50e8c5b.zip |
btrfs: using cached extent_state in set/unlock combinations
In several places the sequence (set_extent_uptodate, unlock_extent) is used.
This leads to a duplicate lookup of the extent state. This patch lets
set_extent_uptodate return a cached extent_state which can be passed to
unlock_extent_cached.
The occurences of the above sequences are updated to use the cache. Only
end_bio_extent_readpage is updated that it first gets a cached state to
pass it to the readpage_end_io_hook as the prototype requested and is later
on being used for set/unlock.
Signed-off-by: Arne Jansen <sensille@gmx.net>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/extent_io.h')
-rw-r--r-- | fs/btrfs/extent_io.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/btrfs/extent_io.h b/fs/btrfs/extent_io.h index f62c5442835d..af2d7179c372 100644 --- a/fs/btrfs/extent_io.h +++ b/fs/btrfs/extent_io.h @@ -208,7 +208,7 @@ int set_extent_bit(struct extent_io_tree *tree, u64 start, u64 end, int bits, int exclusive_bits, u64 *failed_start, struct extent_state **cached_state, gfp_t mask); int set_extent_uptodate(struct extent_io_tree *tree, u64 start, u64 end, - gfp_t mask); + struct extent_state **cached_state, gfp_t mask); int set_extent_new(struct extent_io_tree *tree, u64 start, u64 end, gfp_t mask); int set_extent_dirty(struct extent_io_tree *tree, u64 start, u64 end, |