Re: [PATCH v6 9/9] ovl: Support mounting case-insensitive enabled layers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Amir,

Em 22/08/2025 16:17, Amir Goldstein escreveu:

[...]

  /*
-        * Allow filesystems that are case-folding capable but deny composing
-        * ovl stack from case-folded directories.
+        * Exceptionally for layers with casefold, we accept that they have
+        * their own hash and compare operations
           */
-       if (sb_has_encoding(dentry->d_sb))
-               return IS_CASEFOLDED(d_inode(dentry));
+       if (ofs->casefold)
+               return false;

I think this is better as:
          if (sb_has_encoding(dentry->d_sb))
                  return false;


And this still fails the test "Casefold enabled" for me.

Maybe you are confused because this does not look like
a test failure. It looks like this:

generic/999 5s ...  [19:10:21][  150.667994] overlayfs: failed lookup
in lower (ovl-lower/casefold, name='subdir', err=-116): parent wrong
casefold
[  150.669741] overlayfs: failed lookup in lower (ovl-lower/casefold,
name='subdir', err=-116): parent wrong casefold
[  150.760644] overlayfs: failed lookup in lower (/ovl-lower,
name='casefold', err=-66): child wrong casefold
  [19:10:24] [not run]
generic/999 -- overlayfs does not support casefold enabled layers
Ran: generic/999
Not run: generic/999
Passed all 1 tests


This is how the test output looks before my changes[1] to the test:

$ ./run.sh
FSTYP         -- ext4
PLATFORM -- Linux/x86_64 archlinux 6.17.0-rc1+ #1174 SMP PREEMPT_DYNAMIC Mon Aug 25 10:18:09 -03 2025
MKFS_OPTIONS  -- -F /dev/vdc
MOUNT_OPTIONS -- -o acl,user_xattr /dev/vdc /tmp/dir2

generic/999 1s ... [not run] overlayfs does not support casefold enabled layers
Ran: generic/999
Not run: generic/999
Passed all 1 tests


And this is how it looks after my changes[1] to the test:

$ ./run.sh
FSTYP         -- ext4
PLATFORM -- Linux/x86_64 archlinux 6.17.0-rc1+ #1174 SMP PREEMPT_DYNAMIC Mon Aug 25 10:18:09 -03 2025
MKFS_OPTIONS  -- -F /dev/vdc
MOUNT_OPTIONS -- -o acl,user_xattr /dev/vdc /tmp/dir2

generic/999        1s
Ran: generic/999
Passed all 1 tests

So, as far as I can tell, the casefold enabled is not being skipped after the fix to the test.

[1] https://lore.kernel.org/lkml/5da6b0f4-2730-4783-9c57-c46c2d13e848@xxxxxxxxxx/


I'm not sure I will keep the test this way. This is not very standard nor
good practice, to run half of the test and then skip it.
I would probably split it into two tests.
The first one as it is now will run to completion on kenrels >= v6.17
and the Casefold enable test will run on kernels >= v6.18.

In any case, please make sure that the test is not skipped when testing
Casefold enabled layers

And then continue with the missing test cases.

When you have a test that passes please send the test itself or
a fstest branch for me to test.

Ok!


Thanks,
Amir.





[Index of Archives]     [Linux Filesystems Devel]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux