mbox series

[v3,0/7] Clean up the case-insenstive lookup path

Message ID 20220429182728.14008-1-krisman@collabora.com
Headers show
Series Clean up the case-insenstive lookup path | expand

Message

Gabriel Krisman Bertazi April 29, 2022, 6:27 p.m. UTC
This is the v3 of this series.  It fixes a build error when building
filesystems as a module on the previous series.

* v2

This is the v2 of this series.  it applies Eric's comments and extend
the series to complete the merge of generic_ci_match for ext4 and f2fs.

* Original cover letter

The case-insensitive implementations in f2fs and ext4 have quite a bit
of duplicated code.  This series simplifies the ext4 version, with the
goal of extracting ext4_ci_compare into a helper library that can be
used by both filesystems.

While there, I noticed we can leverage the utf8 functions to detect
encoded names that are corrupted in the filesystem. The final patch
adds an ext4 error on that scenario, to mark the filesystem as
corrupted.

This series survived passes of xfstests -g quick.

Gabriel Krisman Bertazi (7):
  ext4: Match the f2fs ci_compare implementation
  ext4: Simplify the handling of cached insensitive names
  ext4: Implement ci comparison using unicode_name
  ext4: Simplify hash check on ext4_match
  ext4: Log error when lookup of encoded dentry fails
  ext4: Move ext4_match_ci into libfs
  f2fs: Reuse generic_ci_match for ci comparisons

 fs/ext4/ext4.h     |   2 +-
 fs/ext4/namei.c    | 110 ++++++++++++++-------------------------------
 fs/f2fs/dir.c      |  58 ++----------------------
 fs/libfs.c         |  61 +++++++++++++++++++++++++
 include/linux/fs.h |   8 ++++
 5 files changed, 107 insertions(+), 132 deletions(-)