f2fs: add a mount option for rb-tree extent cache
This patch adds a mount option 'extent_cache' in f2fs. It is try to use a rb-tree based extent cache to cache more mapping information with less memory if this option is set, otherwise we will use the original one extent info cache. Suggested-by: Changman Lee <cm224.lee@samsung.com> Signed-off-by: Chao Yu <chao2.yu@samsung.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:

zatwierdzone przez
Jaegeuk Kim

rodzic
429511cdf8
commit
8967215954
@@ -57,6 +57,7 @@ enum {
|
||||
Opt_flush_merge,
|
||||
Opt_nobarrier,
|
||||
Opt_fastboot,
|
||||
Opt_extent_cache,
|
||||
Opt_err,
|
||||
};
|
||||
|
||||
@@ -78,6 +79,7 @@ static match_table_t f2fs_tokens = {
|
||||
{Opt_flush_merge, "flush_merge"},
|
||||
{Opt_nobarrier, "nobarrier"},
|
||||
{Opt_fastboot, "fastboot"},
|
||||
{Opt_extent_cache, "extent_cache"},
|
||||
{Opt_err, NULL},
|
||||
};
|
||||
|
||||
@@ -367,6 +369,9 @@ static int parse_options(struct super_block *sb, char *options)
|
||||
case Opt_fastboot:
|
||||
set_opt(sbi, FASTBOOT);
|
||||
break;
|
||||
case Opt_extent_cache:
|
||||
set_opt(sbi, EXTENT_CACHE);
|
||||
break;
|
||||
default:
|
||||
f2fs_msg(sb, KERN_ERR,
|
||||
"Unrecognized mount option \"%s\" or missing value",
|
||||
@@ -599,6 +604,8 @@ static int f2fs_show_options(struct seq_file *seq, struct dentry *root)
|
||||
seq_puts(seq, ",nobarrier");
|
||||
if (test_opt(sbi, FASTBOOT))
|
||||
seq_puts(seq, ",fastboot");
|
||||
if (test_opt(sbi, EXTENT_CACHE))
|
||||
seq_puts(seq, ",extent_cache");
|
||||
seq_printf(seq, ",active_logs=%u", sbi->active_logs);
|
||||
|
||||
return 0;
|
||||
|
Reference in New Issue
Block a user