FROMGIT: 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 Change-Id: Ib37b714040d6b969b3161c50e3c02205af7c688c Signed-off-by:Daniel Lee <chullee@google.com> Reviewed-by:
Chao Yu <chao@kernel.org> Signed-off-by:
Jaegeuk Kim <jaegeuk@kernel.org> (cherry picked from commit 91b587ba https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git dev) Bug: 384758596 Bug: 392735861 Signed-off-by:
Daniel Rosenberg <drosen@google.com> (cherry picked from commit dea08dbb)
Loading
Please sign in to comment