As we know, Android is the only user of casefold feature, in casefolded directory, creating a filename w/ character has ignorable code points in buggy kernel v6.12 is a very rare case, we don't get any report that user can not access file w/ character has ignorable code points till now.
Let's disable linear lookup in fsck for Android by default, once there is any related bug report of unicode code points, we can enable it again. mkfs.f2fs -f -O casefold -C utf8 /dev/vdb dump.f2fs -d3 /dev/vdb |grep s_encoding_flags s_encoding_flags [0x 0 : 0] fsck.f2fs /dev/vdb -g android dump.f2fs -d3 /dev/vdb |grep s_encoding_flags s_encoding_flags [0x 2 : 2] Signed-off-by: Chao Yu <c...@kernel.org> --- fsck/main.c | 5 ++++- man/fsck.f2fs.8 | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/fsck/main.c b/fsck/main.c index c5d4159..e05c23a 100644 --- a/fsck/main.c +++ b/fsck/main.c @@ -91,7 +91,7 @@ void fsck_usage() MSG(0, " --no-kernel-check skips detecting kernel change\n"); MSG(0, " --kernel-check checks kernel change\n"); MSG(0, " --debug-cache to debug cache when -c is used\n"); - MSG(0, " --nolinear-lookup=X X=1: disable linear lookup, X=0: enable linear lookup\n"); + MSG(0, " --nolinear-lookup=X X=1: disable linear lookup, X=0: enable linear lookup. For android case, it will disable linear lookup by default\n"); MSG(0, " --fault_injection=%%d to enable fault injection with specified injection rate\n"); MSG(0, " --fault_type=%%d to configure enabled fault injection type\n"); exit(1); @@ -224,6 +224,9 @@ static void add_default_options(void) if (c.func == FSCK) { /* -a */ c.auto_fix = 1; + + /* disable linear lookup by default */ + c.nolinear_lookup = LINEAR_LOOKUP_DISABLE; } else if (c.func == RESIZE) { c.force = 1; } diff --git a/man/fsck.f2fs.8 b/man/fsck.f2fs.8 index 89cc455..c20c431 100644 --- a/man/fsck.f2fs.8 +++ b/man/fsck.f2fs.8 @@ -68,7 +68,7 @@ Specify the level of debugging options. The default number is 0, which shows basic debugging messages. .TP .BI \--nolinear-lookup -Tune linear lookup fallback, must specify an argument, 0: enable linear lookup, 1: disable linear lookup. +Tune linear lookup fallback, must specify an argument, 0: enable linear lookup, 1: disable linear lookup. For android case, it will disable linear lookup by default. .TP .BI \-\-fault_injection=%d " enable fault injection" Enable fault injection in all supported types with specified injection rate. -- 2.49.0 _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel