[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190506200325.GA3985@mit.edu>
Date: Mon, 6 May 2019 16:03:25 -0400
From: "Theodore Ts'o" <tytso@....edu>
To: Gabriel Krisman Bertazi <krisman@...labora.com>
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
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?
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.
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.
Cheers,
- Ted
Powered by blists - more mailing lists