This patch adds two structures that supports delayed extent tree and delayed_extent_info to inode_info. Signed-off-by: Yongqiang Yang <xiaoqiangnk@xxxxxxxxx> --- fs/ext4/delayed_extents.h | 22 ++++++++++++++++++++++ fs/ext4/ext4.h | 5 +++++ 2 files changed, 27 insertions(+), 0 deletions(-) create mode 100644 fs/ext4/delayed_extents.h diff --git a/fs/ext4/delayed_extents.h b/fs/ext4/delayed_extents.h new file mode 100644 index 0000000..5436cad --- /dev/null +++ b/fs/ext4/delayed_extents.h @@ -0,0 +1,22 @@ +/* + * fs/ext4/delayed_extents.h + * + * Written by Yongqiang Yang <xiaoqiangnk@xxxxxxxxx> + * + */ + +#ifndef _EXT4_DELAYED_EXTENTS_H +#define _EXT4_DELAYED_EXTENTS_H + +struct delayed_extent { + struct rb_node rb_node; + ext4_lblk_t start; /* first block extent covers */ + ext4_lblk_t len; /* length of extent in block */ +}; + +struct ext4_de_tree { + struct rb_root root; + struct delayed_extent *cache_de; /* recently accessed extent */ +}; + +#endif /* _EXT4_DELAYED_EXTENTS_H */ diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index 657e826..72c6b1e 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h @@ -778,6 +778,8 @@ struct ext4_ext_cache { __u32 ec_len; /* must be 32bit to return holes */ }; +#include "delayed_extents.h" + /* * fourth extended file system inode data in memory */ @@ -855,6 +857,9 @@ struct ext4_inode_info { struct list_head i_prealloc_list; spinlock_t i_prealloc_lock; + /* delayed extents */ + struct ext4_de_tree i_de_tree; + /* ialloc */ ext4_group_t i_last_alloc_group; -- 1.7.5.1 -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html