From: Amir Goldstein Date: Tue, 11 Jun 2019 16:08:38 +0000 (+0300) Subject: fstests: check for filesystem FS_IOC_FSSETXATTR support X-Git-Tag: v2022.05.01~1121 X-Git-Url: http://git.apps.os.sepia.ceph.com/?p=xfstests-dev.git;a=commitdiff_plain;h=e28c4e69a4335cb747c0e80b5c25f00fe4fa297c fstests: check for filesystem FS_IOC_FSSETXATTR support With "_require_xfs_io_command chattr ", check that flag can be set/cleared using FS_IOC_FSSETXATTR ioctl, similar to "_require_chattr " and FS_IOC_SETFLAGS ioctl. Update the documentation and the tests that use "_require_xfs_io_command chattr" to test filesystem support and not only xfs_io support. Signed-off-by: Amir Goldstein Reviewed-by: Eryu Guan Signed-off-by: Eryu Guan --- diff --git a/common/rc b/common/rc index 85330de2..25203bb4 100644 --- a/common/rc +++ b/common/rc @@ -2090,6 +2090,16 @@ _require_xfs_io_command() local testfile=$TEST_DIR/$$.xfs_io local testio case $command in + "chattr") + if [ -z "$param" ]; then + param=s + fi + # Test xfs_io chattr support AND + # filesystem FS_IOC_FSSETXATTR support + testio=`$XFS_IO_PROG -F -f -c "chattr +$param" $testfile 2>&1` + $XFS_IO_PROG -F -f -r -c "chattr -$param" $testfile 2>&1 + param_checked="+$param" + ;; "chproj") testio=`$XFS_IO_PROG -F -f -c "chproj 0" $testfile 2>&1` ;; diff --git a/doc/requirement-checking.txt b/doc/requirement-checking.txt index 1ec04d4b..45d2756b 100644 --- a/doc/requirement-checking.txt +++ b/doc/requirement-checking.txt @@ -69,7 +69,7 @@ _require_xfs_io_command [] switch. For example: _require_xfs_io_command "falloc" - _require_xfs_io_command "chattr" "+/-x" + _require_xfs_io_command "chattr" "x" The first requires that xfs_io support the falloc command and the second that it supports the chattr command and that the chattr command supports diff --git a/tests/generic/553 b/tests/generic/553 index 1699ead1..aefb0819 100755 --- a/tests/generic/553 +++ b/tests/generic/553 @@ -21,7 +21,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 7 15 workdir="$TEST_DIR/test-$seq" _cleanup() { - $CHATTR_PROG -i $workdir/immutable > /dev/null 2>&1 + $XFS_IO_PROG -f -r -c "chattr -i" $workdir/immutable >/dev/null 2>&1 cd / rm -f $tmp.* } @@ -37,9 +37,8 @@ _supported_fs generic rm -f $seqres.full _require_test -_require_chattr i _require_xfs_io_command "copy_range" -_require_xfs_io_command "chattr" +_require_xfs_io_command "chattr" "i" rm -rf $workdir mkdir $workdir diff --git a/tests/xfs/260 b/tests/xfs/260 index ba606998..4956752c 100755 --- a/tests/xfs/260 +++ b/tests/xfs/260 @@ -33,7 +33,7 @@ _supported_os Linux _require_scratch_dax _require_test_program "feature" _require_test_program "t_mmap_dio" -_require_xfs_io_command "chattr" "+/-x" +_require_xfs_io_command "chattr" "x" _require_xfs_io_command "falloc" prep_files() diff --git a/tests/xfs/431 b/tests/xfs/431 index 63b45fd4..febc89d5 100755 --- a/tests/xfs/431 +++ b/tests/xfs/431 @@ -38,7 +38,7 @@ rm -f $seqres.full # Modify as appropriate. _supported_fs xfs _supported_os Linux -_require_xfs_io_command "chattr" +_require_xfs_io_command "chattr" "t" _require_xfs_io_command "fsync" _require_xfs_io_command "pwrite" _require_scratch