Re: [PATCH v12 0/8] Cache insensitive cleanup for ext4/f2fs

Gabriel Krisman Bertazi
2024-02-27T23:48:59Z

Eugen Hristev <eugen.hristev@collabora.com> writes:

> Hello,
>
> I am trying to respin the series here :
> https://www.spinics.net/lists/linux-ext4/msg85081.html

This has a reviewed-by tag from Eric, but since its been years and we've
been going through more changes now, I'd ask you to drop the r-b until
Eric has had a chance to review it and give a new tag.

Thanks,

> I resent some of the v9 patches and got some reviews from Gabriel,
> I did changes as requested and here is v12.
>
> Changes in v12:
> - revert to v10 comparison with propagating the error code from utf comparison
>
> Changes in v11:
> - revert to the original v9 implementation for the comparison helper.
>
> Changes in v10:
> - reworked a bit the comparison helper to improve performance by
> first performing the exact lookup.
>
>
> * Original commit 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. It also reduces the clutter from many
> codeguards for CONFIG_UNICODE; as requested by Linus, they are part of
> the codeflow now.
>
> While there, I noticed we can leverage the utf8 functions to detect
> encoded names that are corrupted in the filesystem. Therefore, it also
> adds an ext4 error on that scenario, to mark the filesystem as
> corrupted.
>
> This series survived passes of xfstests -g quick.
>
>
> Gabriel Krisman Bertazi (8):
> ext4: Simplify the handling of cached insensitive names
> f2fs: Simplify the handling of cached insensitive names
> libfs: Introduce case-insensitive string comparison helper
> ext4: Reuse generic_ci_match for ci comparisons
> f2fs: Reuse generic_ci_match for ci comparisons
> ext4: Log error when lookup of encoded dentry fails
> ext4: Move CONFIG_UNICODE defguards into the code flow
> f2fs: Move CONFIG_UNICODE defguards into the code flow
>
> fs/ext4/crypto.c | 19 ++-----
> fs/ext4/ext4.h | 35 +++++++-----
> fs/ext4/namei.c | 129 ++++++++++++++++-----------------------------
> fs/ext4/super.c | 4 +-
> fs/f2fs/dir.c | 105 +++++++++++-------------------------
> fs/f2fs/f2fs.h | 17 +++++-
> fs/f2fs/namei.c | 10 ++--
> fs/f2fs/recovery.c | 5 +-
> fs/f2fs/super.c | 8 +--
> fs/libfs.c | 85 +++++++++++++++++++++++++++++
> include/linux/fs.h | 4 ++
> 11 files changed, 216 insertions(+), 205 deletions(-)

--
Gabriel Krisman Bertazi