summaryrefslogtreecommitdiffstats
path: root/fs/f2fs/gc.h
diff options
context:
space:
mode:
authorChangman Lee <cm224.lee@samsung.com>2014-11-28 15:49:40 +0000
committerJaegeuk Kim <jaegeuk@kernel.org>2014-12-02 11:02:50 -0800
commit7dda2af83b2b7593458828d4f15443167b3da8c4 (patch)
tree0ecb8d2e1a2ef4a0745bd704ff09d86ed3cccb3f /fs/f2fs/gc.h
parent9c01503f4da3ff9c327d37249fe148ed7c188b20 (diff)
downloadtalos-obmc-linux-7dda2af83b2b7593458828d4f15443167b3da8c4.tar.gz
talos-obmc-linux-7dda2af83b2b7593458828d4f15443167b3da8c4.zip
f2fs: more fast lookup for gc_inode list
If there are many inodes that have data blocks in victim segment, it takes long time to find a inode in gc_inode list. Let's use radix_tree to reduce lookup time. Signed-off-by: Changman Lee <cm224.lee@samsung.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/gc.h')
-rw-r--r--fs/f2fs/gc.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/f2fs/gc.h b/fs/f2fs/gc.h
index 16f0b2b22999..6ff7ad38463e 100644
--- a/fs/f2fs/gc.h
+++ b/fs/f2fs/gc.h
@@ -40,6 +40,11 @@ struct inode_entry {
struct inode *inode;
};
+struct gc_inode_list {
+ struct list_head ilist;
+ struct radix_tree_root iroot;
+};
+
/*
* inline functions
*/
OpenPOWER on IntegriCloud