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

Reply via email to