f2fs: reuse inode_entry_slab in gc procedure for using slab more effectively
There are two slab cache inode_entry_slab and winode_slab using the same structure as below: struct dir_inode_entry { struct list_head list; /* list head */ struct inode *inode; /* vfs inode pointer */ }; struct inode_entry { struct list_head list; struct inode *inode; }; It's a little waste that the two cache can not share their memory space for each other. So in this patch we remove one redundant winode_slab slab cache, then use more universal name struct inode_entry as remaining data structure name of slab, finally we reuse the inode_entry_slab to store dirty dir item and gc item for more effective. Signed-off-by: Chao Yu <chao2.yu@samsung.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
@@ -1231,12 +1231,9 @@ static int __init init_f2fs_fs(void)
|
||||
err = create_segment_manager_caches();
|
||||
if (err)
|
||||
goto free_node_manager_caches;
|
||||
err = create_gc_caches();
|
||||
if (err)
|
||||
goto free_segment_manager_caches;
|
||||
err = create_checkpoint_caches();
|
||||
if (err)
|
||||
goto free_gc_caches;
|
||||
goto free_segment_manager_caches;
|
||||
f2fs_kset = kset_create_and_add("f2fs", NULL, fs_kobj);
|
||||
if (!f2fs_kset) {
|
||||
err = -ENOMEM;
|
||||
@@ -1253,8 +1250,6 @@ free_kset:
|
||||
kset_unregister(f2fs_kset);
|
||||
free_checkpoint_caches:
|
||||
destroy_checkpoint_caches();
|
||||
free_gc_caches:
|
||||
destroy_gc_caches();
|
||||
free_segment_manager_caches:
|
||||
destroy_segment_manager_caches();
|
||||
free_node_manager_caches:
|
||||
@@ -1271,7 +1266,6 @@ static void __exit exit_f2fs_fs(void)
|
||||
f2fs_destroy_root_stats();
|
||||
unregister_filesystem(&f2fs_fs_type);
|
||||
destroy_checkpoint_caches();
|
||||
destroy_gc_caches();
|
||||
destroy_segment_manager_caches();
|
||||
destroy_node_manager_caches();
|
||||
destroy_inodecache();
|
||||
|
Reference in New Issue
Block a user