On Sat, Aug 9, 2025 at 11:17 AM Amir Goldstein <amir73il@xxxxxxxxx> wrote: > > On Fri, Aug 8, 2025 at 10:59 PM André Almeida <andrealmeid@xxxxxxxxxx> wrote: > > > > Hi all, > > > > We would like to support the usage of casefold filesystems with > > overlayfs to be used with container tools. This use case requires a > > simple setup, where every layer will have the same encoding setting > > (i.e. Unicode version and flags), using one upper and one lower layer. > > > > * Implementation > > > > When merge layers, ovl uses a red-black tree to check if a given dentry > > name from a lower layers already exists in the upper layer. For merging > > case-insensitive names, we need to store then in tree casefolded. > > However, when displaying to the user the dentry name, we need to respect > > the name chosen when the file was created (e.g. Picture.PNG, instead of > > picture.png). To achieve this, I create a new field for cache entries > > that stores the casefolded names and a function ovl_strcmp() that uses > > this name for searching the rb_tree. For composing the layer, ovl uses > > the original name, keeping it consistency with whatever name the user > > created. > > > > The rest of the patches are mostly for checking if casefold is being > > consistently used across the layers and dropping the mount restrictions > > that prevented case-insensitive filesystems to be mounted. > > > > Thanks for the feedback! > > Hi Andre, > > This v3 is getting close. > Still some small details to fix. > With v4, please include a link to fstest so I can test your work. > I already had a draft for the casefold capable and disabled layers > in 6.17 but I did not post it yet. > Decide it would be better to test the final result after your work. > I'd started to adapt the test to the expected behavior for 6.18, > but it's just an untested draft for you to extend: > https://github.com/amir73il/xfstests/commits/ovl-casefold/ > > Please make sure that you run at least check -overlay -g overlay/quick > sanity check for v4 and that you run check -g casefold, > which should run the new generic test. > Also, please remove the RFC label for v4. We are pass the point of RFC. Thanks, Amir.