From: Chao Yu <chao@kernel.org>
To: Zorro Lang <zlang@kernel.org>, fstests@vger.kernel.org
Cc: jaegeuk@kernel.org, linux-f2fs-devel@lists.sourceforge.net,
Chao Yu <chao@kernel.org>, Daniel Lee <chullee@google.com>
Subject: [PATCH] f2fs/012: adapt lookup_mode=x mount option
Date: Fri, 8 Aug 2025 14:58:03 +0800 [thread overview]
Message-ID: <20250808065803.17298-1-chao@kernel.org> (raw)
w/ below change [1], f2fs will enable lookup_mode=perf by default, it
will change f2fs dirent lookup method from linear based lookup to hash
based lookup.
So that, f2fs will ignore sb.s_encoding_flags by default, which is not
compatible w/ f2fs/012 testcase, in where it will control lookup method
by configuring this flag w/ fsck.f2fs.
To avoid failure of f2fs/012, let's check whether f2fs has supported
"lookup_mode=auto" mount option, mount w/ the option if it can,
otherwise, don't.
[1] https://lore.kernel.org/linux-f2fs-devel/20250805065228.1473089-1-chullee@google.com
Cc: Daniel Lee <chullee@google.com>
Signed-off-by: Chao Yu <chao@kernel.org>
---
tests/f2fs/012 | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/tests/f2fs/012 b/tests/f2fs/012
index b3df9a8f..15fc8f0c 100755
--- a/tests/f2fs/012
+++ b/tests/f2fs/012
@@ -22,6 +22,15 @@ _require_scratch_nocheck
_require_command "$F2FS_IO_PROG" f2fs_io
_require_command "$F2FS_INJECT_PROG" inject.f2fs
+#check whether f2fs supports "lookup_mode=x" mount option
+mntopt=""
+_scratch_mkfs -O casefold -C utf8 >> $seqres.full
+_try_scratch_mount "-o lookup_mode=auto"
+if [ $? == 0 ]; then
+ mntopt="-o lookup_mode=auto"
+ _scratch_unmount
+fi
+
check_lookup()
{
local nolinear_lookup=$1
@@ -30,7 +39,7 @@ check_lookup()
local redheart=$dir/$'\u2764\ufe0f'
_scratch_mkfs -O casefold -C utf8 >> $seqres.full
- _scratch_mount
+ _scratch_mount $mntopt
mkdir $dir
$F2FS_IO_PROG setflags casefold $dir >> $seqres.full
@@ -52,7 +61,7 @@ check_lookup()
$F2FS_INJECT_PROG --dent --mb d_hash --nid $ino --val 0x9a2ea068 $SCRATCH_DEV >> $seqres.full
- _scratch_mount
+ _scratch_mount $mntopt
if [ $nolinear_lookup == "1" ]; then
[ -f $redheart ] && _fail "red heart file should not exist"
else
--
2.40.1
WARNING: multiple messages have this Message-ID (diff)
From: Chao Yu via Linux-f2fs-devel <linux-f2fs-devel@lists.sourceforge.net>
To: Zorro Lang <zlang@kernel.org>, fstests@vger.kernel.org
Cc: jaegeuk@kernel.org, linux-f2fs-devel@lists.sourceforge.net
Subject: [f2fs-dev] [PATCH] f2fs/012: adapt lookup_mode=x mount option
Date: Fri, 8 Aug 2025 14:58:03 +0800 [thread overview]
Message-ID: <20250808065803.17298-1-chao@kernel.org> (raw)
w/ below change [1], f2fs will enable lookup_mode=perf by default, it
will change f2fs dirent lookup method from linear based lookup to hash
based lookup.
So that, f2fs will ignore sb.s_encoding_flags by default, which is not
compatible w/ f2fs/012 testcase, in where it will control lookup method
by configuring this flag w/ fsck.f2fs.
To avoid failure of f2fs/012, let's check whether f2fs has supported
"lookup_mode=auto" mount option, mount w/ the option if it can,
otherwise, don't.
[1] https://lore.kernel.org/linux-f2fs-devel/20250805065228.1473089-1-chullee@google.com
Cc: Daniel Lee <chullee@google.com>
Signed-off-by: Chao Yu <chao@kernel.org>
---
tests/f2fs/012 | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/tests/f2fs/012 b/tests/f2fs/012
index b3df9a8f..15fc8f0c 100755
--- a/tests/f2fs/012
+++ b/tests/f2fs/012
@@ -22,6 +22,15 @@ _require_scratch_nocheck
_require_command "$F2FS_IO_PROG" f2fs_io
_require_command "$F2FS_INJECT_PROG" inject.f2fs
+#check whether f2fs supports "lookup_mode=x" mount option
+mntopt=""
+_scratch_mkfs -O casefold -C utf8 >> $seqres.full
+_try_scratch_mount "-o lookup_mode=auto"
+if [ $? == 0 ]; then
+ mntopt="-o lookup_mode=auto"
+ _scratch_unmount
+fi
+
check_lookup()
{
local nolinear_lookup=$1
@@ -30,7 +39,7 @@ check_lookup()
local redheart=$dir/$'\u2764\ufe0f'
_scratch_mkfs -O casefold -C utf8 >> $seqres.full
- _scratch_mount
+ _scratch_mount $mntopt
mkdir $dir
$F2FS_IO_PROG setflags casefold $dir >> $seqres.full
@@ -52,7 +61,7 @@ check_lookup()
$F2FS_INJECT_PROG --dent --mb d_hash --nid $ino --val 0x9a2ea068 $SCRATCH_DEV >> $seqres.full
- _scratch_mount
+ _scratch_mount $mntopt
if [ $nolinear_lookup == "1" ]; then
[ -f $redheart ] && _fail "red heart file should not exist"
else
--
2.40.1
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
next reply other threads:[~2025-08-08 8:02 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-08 6:58 Chao Yu [this message]
2025-08-08 6:58 ` [f2fs-dev] [PATCH] f2fs/012: adapt lookup_mode=x mount option Chao Yu via Linux-f2fs-devel
2025-08-15 15:54 ` Zorro Lang
2025-08-15 15:54 ` [f2fs-dev] " Zorro Lang via Linux-f2fs-devel
2025-08-16 7:15 ` Chao Yu
2025-08-16 7:15 ` [f2fs-dev] " Chao Yu via Linux-f2fs-devel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250808065803.17298-1-chao@kernel.org \
--to=chao@kernel.org \
--cc=chullee@google.com \
--cc=fstests@vger.kernel.org \
--cc=jaegeuk@kernel.org \
--cc=linux-f2fs-devel@lists.sourceforge.net \
--cc=zlang@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.