aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/inode.c
diff options
context:
space:
mode:
authorArne Jansen <sensille@gmx.net>2011-04-06 10:02:20 +0000
committerChris Mason <chris.mason@oracle.com>2011-04-11 20:45:36 -0400
commit507903b81840a70cc6a179d4eb03584ad50e8c5b (patch)
treeec3ccd0d2dd8feb15f4b01627112c8e2cf74d989 /fs/btrfs/inode.c
parentBtrfs: fix subvolume mount by name problem when default mount subvolume is set (diff)
downloadlinux-dev-507903b81840a70cc6a179d4eb03584ad50e8c5b.tar.xz
linux-dev-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.c2
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);