f2fs: Introduce linear search for dentries
This patch addresses an issue where some files in case-insensitive directories become inaccessible due to changes in how the kernel function, utf8_casefold(), generates case-folded strings from the commit 5c26d2f1 ("unicode: Don't special case ignorable code points"). F2FS uses these case-folded names to calculate hash values for locating dentries and stores them on disk. Since utf8_casefold() can produce different output across kernel versions, stored hash values and newly calculated hash values may differ. This results in affected files no longer being found via the hash-based lookup. To resolve this, the patch introduces a linear search fallback. If the initial hash-based search fails, F2FS will sequentially scan the directory entries. Fixes: 5c26d2f1 ("unicode: Don't special case ignorable code points") Link: https://bugzilla.kernel.org/show_bug.cgi?id=219586 Signed-off-by:Daniel Lee <chullee@google.com> Reviewed-by:
Chao Yu <chao@kernel.org> Signed-off-by:
Jaegeuk Kim <jaegeuk@kernel.org>
Loading
-
mentioned in commit 9e4ccf17
-
mentioned in commit dea08dbb
-
mentioned in commit fce2f929
-
mentioned in commit a3e132e5
-
mentioned in commit af8411db
-
mentioned in commit d2df0606
-
mentioned in commit deba2e8f
-
mentioned in commit d79885bd
-
mentioned in commit f1dd0b7b
-
mentioned in commit cf363a17
-
mentioned in commit 1bda8e1c
-
mentioned in commit 86c815fd
-
mentioned in commit 4b165371
-
mentioned in commit 0d62a618
-
mentioned in commit d32955d5
-
mentioned in commit 03b1e841
-
mentioned in commit 4f12a17f
-
mentioned in commit fd373821
Please sign in to comment