Hi Chao, I integrated this patch into the original patch which makes inline_dentry by default. And, I couldn't find any bug case from my test-cases. :)
Thanks, On Fri, Aug 26, 2016 at 09:01:22AM +0800, Chao Yu wrote: > This patch adds noinline_dentry mount option. > > Signed-off-by: Chao Yu <yuch...@huawei.com> > --- > Documentation/filesystems/f2fs.txt | 1 + > fs/f2fs/super.c | 7 +++++++ > 2 files changed, 8 insertions(+) > > diff --git a/Documentation/filesystems/f2fs.txt > b/Documentation/filesystems/f2fs.txt > index ecd8080..753dd4f 100644 > --- a/Documentation/filesystems/f2fs.txt > +++ b/Documentation/filesystems/f2fs.txt > @@ -131,6 +131,7 @@ inline_dentry Enable the inline dir feature: > data in new created > directory entries can be written into inode block. The > space of inode block which is used to store inline > dentries is limited to ~3.4k. > +noinline_dentry Diable the inline dentry feature. > flush_merge Merge concurrent cache_flush commands as much as possible > to eliminate redundant command issues. If the > underlying > device handles the cache_flush command relatively slowly, > diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c > index 7974833..b776414 100644 > --- a/fs/f2fs/super.c > +++ b/fs/f2fs/super.c > @@ -87,6 +87,7 @@ enum { > Opt_inline_xattr, > Opt_inline_data, > Opt_inline_dentry, > + Opt_noinline_dentry, > Opt_flush_merge, > Opt_noflush_merge, > Opt_nobarrier, > @@ -118,6 +119,7 @@ static match_table_t f2fs_tokens = { > {Opt_inline_xattr, "inline_xattr"}, > {Opt_inline_data, "inline_data"}, > {Opt_inline_dentry, "inline_dentry"}, > + {Opt_noinline_dentry, "noinline_dentry"}, > {Opt_flush_merge, "flush_merge"}, > {Opt_noflush_merge, "noflush_merge"}, > {Opt_nobarrier, "nobarrier"}, > @@ -488,6 +490,9 @@ static int parse_options(struct super_block *sb, char > *options) > case Opt_inline_dentry: > set_opt(sbi, INLINE_DENTRY); > break; > + case Opt_noinline_dentry: > + clear_opt(sbi, INLINE_DENTRY); > + break; > case Opt_flush_merge: > set_opt(sbi, FLUSH_MERGE); > break; > @@ -879,6 +884,8 @@ static int f2fs_show_options(struct seq_file *seq, struct > dentry *root) > seq_puts(seq, ",noinline_data"); > if (test_opt(sbi, INLINE_DENTRY)) > seq_puts(seq, ",inline_dentry"); > + else > + seq_puts(seq, ",noinline_dentry"); > if (!f2fs_readonly(sbi->sb) && test_opt(sbi, FLUSH_MERGE)) > seq_puts(seq, ",flush_merge"); > if (test_opt(sbi, NOBARRIER)) > -- > 2.8.2.311.gee88674