All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] ovl: Enable support for casefold filesystems
@ 2025-04-09 15:00 André Almeida
  2025-04-09 15:00 ` [PATCH 1/3] ovl: Make ovl_cache_entry_find support casefold André Almeida
                   ` (4 more replies)
  0 siblings, 5 replies; 13+ messages in thread
From: André Almeida @ 2025-04-09 15:00 UTC (permalink / raw)
  To: Miklos Szeredi, Amir Goldstein, Theodore Tso,
	Gabriel Krisman Bertazi
  Cc: linux-unionfs, linux-kernel, linux-fsdevel, Alexander Viro,
	Christian Brauner, Jan Kara, kernel-dev, André Almeida

Hi all,

We would like to support the usage of casefold filesystems with
overlayfs. This patchset do some of the work needed for that, but I'm
sure there are more places that need to be tweaked so please share your
feedback for this work.

* Implementation

The most obvious place that required change was the strncmp() inside of
ovl_cache_entry_find(), that I managed to convert to use d_same_name(),
that will then call the generic_ci_d_compare function if it's set for
the dentry. There are more strncmp() around ovl, but I would rather hear
feedback about this approach first than already implementing this around
the code.

* Testing

I used tmpfs to create a small ovl like this:

sudo mount -t tmpfs -o casefold tmpfs mnt/
cd mnt/
mkdir dir
chattr +F dir
cd dir/
mkdir upper lower
mkdir lower/A lower/b lower/c
mkdir upper/a upper/b upper/d
mkdir merged work
sudo mount -t overlay overlay -olowerdir=lower,upperdir=upper,workdir=work, merged
ls /tmp/mnt/dir/merged/
a  b  c  d

And ovl is respecting the equivalent names. `a` points to a merged dir
between `A` and `a`, but giving that upperdir has a lowercase `a`, this
is the name displayed here.

Thanks,
	André

---
André Almeida (3):
      ovl: Make ovl_cache_entry_find support casefold
      ovl: Make ovl_dentry_weird() accept casefold dentries
      ovl: Enable support for casefold filesystems

 fs/overlayfs/namei.c     | 11 ++++++-----
 fs/overlayfs/overlayfs.h |  2 +-
 fs/overlayfs/ovl_entry.h |  1 +
 fs/overlayfs/params.c    |  5 +++--
 fs/overlayfs/readdir.c   | 32 +++++++++++++++++++++-----------
 fs/overlayfs/util.c      | 12 +++++++-----
 6 files changed, 39 insertions(+), 24 deletions(-)
---
base-commit: a24588245776dafc227243a01bfbeb8a59bafba9
change-id: 20250409-tonyk-overlayfs-591f5e4d407a

Best regards,
-- 
André Almeida <andrealmeid@igalia.com>


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2025-07-14 20:12 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-09 15:00 [PATCH 0/3] ovl: Enable support for casefold filesystems André Almeida
2025-04-09 15:00 ` [PATCH 1/3] ovl: Make ovl_cache_entry_find support casefold André Almeida
2025-07-11  9:46   ` Amir Goldstein
2025-07-14 20:12     ` Gabriel Krisman Bertazi
2025-04-09 15:00 ` [PATCH 2/3] ovl: Make ovl_dentry_weird() accept casefold dentries André Almeida
2025-04-09 17:11   ` Amir Goldstein
2025-07-11  9:20     ` Amir Goldstein
2025-04-09 15:00 ` [PATCH 3/3] ovl: Enable support for casefold filesystems André Almeida
2025-04-09 16:52 ` [PATCH 0/3] " Gabriel Krisman Bertazi
2025-04-09 17:02   ` André Almeida
2025-04-09 17:17 ` Amir Goldstein
2025-07-10 20:54   ` André Almeida
2025-07-11  9:08     ` Amir Goldstein

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.