Re: [PATCH xfstests 1/2] common/casefold: Add infrastructure to test filename casefold feature

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



"Theodore Ts'o" <tytso@xxxxxxx> writes:

> On Mon, May 06, 2019 at 02:59:40PM -0400, Gabriel Krisman Bertazi wrote:
>> +_require_test_casefold_feature () {
>> +    _has_casefold_feature $TEST_DEV || \
>> +	_notrun "Feature casefold required for this test"
>> +}
>> +_require_scratch_casefold_feature () {
>> +    _has_casefold_feature $SCRATCH_DEV || \
>> +	_notrun "Feature casefold required for this test"
>> +}
>
> I've just pushed out a commit to ext4.git tree which will cause
> /sys/fs/ext4/features/casefold will exist iff CONFIG_UNICODE is
> present.  This will allow the test to check whether or not the kernel
> version and configuration will support the casefold feature.
>
> Could you add a check for this flag if the file system type is ext4?

Hello Ted,

I will follow up with this change on a v2.

> A file system independent way of doing this would be to create a test
> file system on the test file system, calling "chattr +F" on the
> directory.  If it fails, then either the file system doesn't support
> it or the chattr program is too old and doesn't support casefold.  If
> the chattr +F succeeds, then the test should call lsattr -d on the
> directory and make sure the request to set casefold flag was actually
> honored; some file systems will simply fail to set flags that they
> don't support, so we do need to do a SETFLAGS followed by a GETFLAGS
> to be sure that it was supported.

> Speaking of file system independent casefold, I believe that it will
> be likely that the casefold feature will be supported by f2fs in the
> fullness of time.  If that happens, how to test for the file system
> feature will be different (since dumpe2fs is ext4-specific), but I
> would expect "chattr +F" interface to be the same between ext4 and
> f2fs.

I planned to add the per-filesystem test inside common/casefold.  Not
sure how it would be done for f2fs, but i don't think we'd have a
unified interface other than SETFLAGS followed by GETFLAGS to test
this.  I think I could make this method the fallback.

>
> This might mean that we should add casefold tests to either generic/
> or shared/ instead of ext4/ --- I think it would be shared since at
> least initially it would only be ext4 and f2fs, and I haven't seen any
> indication than other file systems would be interested in adding
> casefold support.  Or we can move the casefold tests later from ext4/
> to shared/ once the f2fs support materializes.

Last thing I did before submitting this series was moving from generic/
to ext4/.  I plan to move it back into generic/ or shared/ once another
filesystem uses it.

I didn't have a chance to discuss with xfs folks yet, but I spoke to
Chris Mason and I plan to propose this feature for xfs and btrfs soon.

-- 
Gabriel Krisman Bertazi



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

  Powered by Linux