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/inode.c | |
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/inode.c')
-rw-r--r-- | fs/btrfs/inode.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index edafc28883af..5a993e0ec865 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -5226,7 +5226,7 @@ again: btrfs_mark_buffer_dirty(leaf); } set_extent_uptodate(io_tree, em->start, - extent_map_end(em) - 1, GFP_NOFS); + extent_map_end(em) - 1, NULL, GFP_NOFS); goto insert; } else { printk(KERN_ERR "btrfs unknown found_type %d\n", found_type); |