summaryrefslogtreecommitdiffstats
path: root/fs/ext4/extents_status.h
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2013-08-16 21:23:41 -0400
committerTheodore Ts'o <tytso@mit.edu>2013-08-16 21:23:41 -0400
commit107a7bd31ac003e42c0f966aa8e5b26947de6024 (patch)
treeeb1484facfcba3e07b64d8775fa91fbe45591ab1 /fs/ext4/extents_status.h
parent3be78c73179c9347bdc0a92b2898063bd2300ff7 (diff)
downloadlinux-107a7bd31ac003e42c0f966aa8e5b26947de6024.tar.gz
linux-107a7bd31ac003e42c0f966aa8e5b26947de6024.tar.bz2
linux-107a7bd31ac003e42c0f966aa8e5b26947de6024.zip
ext4: cache all of an extent tree's leaf block upon reading
When we read in an extent tree leaf block from disk, arrange to have all of its entries cached. In nearly all cases the in-memory representation will be more compact than the on-disk representation in the buffer cache, and it allows us to get the information without having to traverse the extent tree for successive extents. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Reviewed-by: Zheng Liu <wenqing.lz@taobao.com>
Diffstat (limited to 'fs/ext4/extents_status.h')
-rw-r--r--fs/ext4/extents_status.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/ext4/extents_status.h b/fs/ext4/extents_status.h
index d72af848f989..3e83aef3653a 100644
--- a/fs/ext4/extents_status.h
+++ b/fs/ext4/extents_status.h
@@ -71,6 +71,9 @@ extern void ext4_es_init_tree(struct ext4_es_tree *tree);
extern int ext4_es_insert_extent(struct inode *inode, ext4_lblk_t lblk,
ext4_lblk_t len, ext4_fsblk_t pblk,
unsigned int status);
+extern void ext4_es_cache_extent(struct inode *inode, ext4_lblk_t lblk,
+ ext4_lblk_t len, ext4_fsblk_t pblk,
+ unsigned int status);
extern int ext4_es_remove_extent(struct inode *inode, ext4_lblk_t lblk,
ext4_lblk_t len);
extern void ext4_es_find_delayed_extent_range(struct inode *inode,