On 4/1/25 00:31, Daniel Lee wrote: > On Sun, Mar 30, 2025 at 7:54 PM Chao Yu <c...@kernel.org> wrote: >> >> After commit 91b587ba79e1 ("f2fs: Introduce linear search for >> dentries"), f2fs forced to use linear lookup whenever a hash-based >> lookup fails on casefolded directory, it may affect performance >> for scenarios: a) create a new file w/ filename it doesn't exist >> in directory, b) lookup a file which may be removed. >> >> This patch supports to disable linear lookup fallback, so, once there >> is a solution for commit 5c26d2f1d3f5 ("unicode: Don't special case >> ignorable code points") to fix red heart unicode issue, then we can >> set an encodeing flag to disable the fallback for performance recovery. >> >> The way is kept in line w/ ext4, refer to commit 9e28059d5664 ("ext4: >> introduce linear search for dentries"). >> >> Cc: Daniel Lee <chul...@google.com> >> Cc: Gabriel Krisman Bertazi <kris...@suse.de> >> Signed-off-by: Chao Yu <c...@kernel.org> >> --- >> fs/f2fs/dir.c | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/fs/f2fs/dir.c b/fs/f2fs/dir.c >> index 5a63ff0df03b..e12445afb95a 100644 >> --- a/fs/f2fs/dir.c >> +++ b/fs/f2fs/dir.c >> @@ -366,7 +366,8 @@ struct f2fs_dir_entry *__f2fs_find_entry(struct inode >> *dir, >> >> out: >> #if IS_ENABLED(CONFIG_UNICODE) >> - if (IS_CASEFOLDED(dir) && !de && use_hash) { >> + if (IS_CASEFOLDED(dir) && !de && use_hash && >> + !sb_no_casefold_compat_fallback(dir->i_sb)) { > > > Would it be beneficial to evaluate > !sb_no_casefold_compat_fallback(dir->i_sb) first for short-circuiting?
Yeah, I guess it will when we disable the fallback by default, will update v2, thank you! Thanks, > > >> >> use_hash = false; >> goto start_find_entry; >> } >> -- >> 2.49.0 >> _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel