Comments
Patch
@@ -782,6 +782,8 @@ struct ext4_ext_cache {
__u32 ec_len; /* must be 32bit to return holes */
};
+#include "status_extents.h"
+
/*
* fourth extended file system inode data in memory
*/
@@ -859,6 +861,9 @@ struct ext4_inode_info {
struct list_head i_prealloc_list;
spinlock_t i_prealloc_lock;
+ /* delayed extents */
+ struct ext4_se_tree i_se_tree;
+
/* ialloc */
ext4_group_t i_last_alloc_group;
new file mode 100644
@@ -0,0 +1,22 @@
+/*
+ * fs/ext4/status_extents.h
+ *
+ * Written by Yongqiang Yang <xiaoqiangnk@gmail.com>
+ *
+ */
+
+#ifndef _EXT4_STATUS_EXTENTS_H
+#define _EXT4_STATUS_EXTENTS_H
+
+struct status_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_se_tree {
+ struct rb_root root;
+ struct status_extent *cache_se; /* recently accessed extent */
+};
+
+#endif /* _EXT4_STATUS_EXTENTS_H */