[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <875zqn1fzc.fsf@collabora.com>
Date: Mon, 06 May 2019 16:32:23 -0400
From: Gabriel Krisman Bertazi <krisman@...labora.com>
To: "Theodore Ts'o" <tytso@....edu>
Cc: fstests@...r.kernel.org, linux-ext4@...r.kernel.org
Subject: Re: [PATCH xfstests 1/2] common/casefold: Add infrastructure to test filename casefold feature
"Theodore Ts'o" <tytso@....edu> 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
Powered by blists - more mailing lists