[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1320022547-2284-2-git-send-email-xiaoqiangnk@gmail.com>
Date: Mon, 31 Oct 2011 08:55:42 +0800
From: Yongqiang Yang <xiaoqiangnk@...il.com>
To: tytso@....edu
Cc: linux-ext4@...r.kernel.org, Yongqiang Yang <xiaoqiangnk@...il.com>
Subject: [PATCH V3 1/6] ext4: add two structures supporting delayed extent tree
This patch adds two structures that supports delayed extent tree and
delayed_extent_info to inode_info.
Signed-off-by: Yongqiang Yang <xiaoqiangnk@...il.com>
---
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@...il.com>
+ *
+ */
+
+#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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists