btrfs: using cached extent_state in set/unlock combinations
authorArne Jansen <sensille@gmx.net>
Wed, 6 Apr 2011 10:02:20 +0000 (10:02 +0000)
committerChris Mason <chris.mason@oracle.com>
Tue, 12 Apr 2011 00:45:36 +0000 (20:45 -0400)
commit507903b81840a70cc6a179d4eb03584ad50e8c5b
treeec3ccd0d2dd8feb15f4b01627112c8e2cf74d989
parente15d0542426f063dc53b4c51bdfc11e0bbe4d298
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>
fs/btrfs/extent_io.c
fs/btrfs/extent_io.h
fs/btrfs/inode.c