On 2023/4/4 1:40, Jaegeuk Kim wrote:
On 03/31, Yangtao Li wrote:
This patch support noage_extent_cache mount option.

Signed-off-by: Yangtao Li <frank...@vivo.com>
---
  Documentation/filesystems/f2fs.rst | 2 ++
  fs/f2fs/super.c                    | 7 +++++++
  2 files changed, 9 insertions(+)

diff --git a/Documentation/filesystems/f2fs.rst 
b/Documentation/filesystems/f2fs.rst
index a81c896464ff..75505ab88de8 100644
--- a/Documentation/filesystems/f2fs.rst
+++ b/Documentation/filesystems/f2fs.rst
@@ -352,6 +352,8 @@ age_extent_cache     Enable an age extent cache based on 
rb-tree. It records
                         data block update frequency of the extent per inode, in
                         order to provide better temperature hints for data 
block
                         allocation.
+noage_extent_cache              Disable an age extent cache based on rb-tree, 
see
+                        the above age_extent_cache mount option.

Hmm, why do we need?

Hi Yangtao,

Please check the reason why we need to add no{inline_data, extent_cache, ...} 
mount
option as below:

commit 75342797988a0f9ebec400a2dde8d4de581c4079
Author: Wanpeng Li <wanpeng...@linux.intel.com>
Date:   Tue Mar 24 10:20:27 2015 +0800

    f2fs: enable inline data by default

    Enable inline_data feature by default since it brings us better
    performance and space utilization and now has already stable.
    Add another option noinline_data to disable it during mount.

Thanks,


  ======================== 
============================================================
Debugfs Entries
diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index b5828a67f7c1..8bd9953ea7e3 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -165,6 +165,7 @@ enum {
        Opt_discard_unit,
        Opt_memory_mode,
        Opt_age_extent_cache,
+       Opt_noage_extent_cache,
        Opt_err,
  };
@@ -244,6 +245,7 @@ static match_table_t f2fs_tokens = {
        {Opt_discard_unit, "discard_unit=%s"},
        {Opt_memory_mode, "memory=%s"},
        {Opt_age_extent_cache, "age_extent_cache"},
+       {Opt_noage_extent_cache, "noage_extent_cache"},
        {Opt_err, NULL},
  };
@@ -1269,6 +1271,9 @@ static int parse_options(struct super_block *sb, char *options, bool is_remount)
                case Opt_age_extent_cache:
                        set_opt(sbi, AGE_EXTENT_CACHE);
                        break;
+               case Opt_noage_extent_cache:
+                       clear_opt(sbi, AGE_EXTENT_CACHE);
+                       break;
                default:
                        f2fs_err(sbi, "Unrecognized mount option \"%s\" or missing 
value",
                                 p);
@@ -1974,6 +1979,8 @@ static int f2fs_show_options(struct seq_file *seq, struct 
dentry *root)
                seq_puts(seq, ",noextent_cache");
        if (test_opt(sbi, AGE_EXTENT_CACHE))
                seq_puts(seq, ",age_extent_cache");
+       else
+               seq_puts(seq, ",noage_extent_cache");
        if (test_opt(sbi, DATA_FLUSH))
                seq_puts(seq, ",data_flush");
--
2.35.1


_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to