summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2020-09-14 18:43:15 -0700
committerEryu Guan <guaneryu@gmail.com>2020-09-21 00:40:04 +0800
commit69a4ba730398e1aa5995a0a6f87412085096a49d (patch)
treeed237cd2a00ae3d367a0d3542cf35dc4cce8af03
parent4f9dd7359651b5d3507bd3734b2c09649a3cb0f6 (diff)
generic/607: don't break on filesystems that don't support FSGETXATTR on dirs
This test requires that the filesystem support calling FSGETXATTR on regular files and directories to make sure the FS_XFLAG_DAX flag works. The _require_xfs_io_command tests a regular file but doesn't check directories, so generic/607 should do that itself. Also fix some typos. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Zorro Lang <zlang@redhat.com> Signed-off-by: Eryu Guan <guaneryu@gmail.com>
-rw-r--r--common/rc10
-rwxr-xr-xtests/generic/6075
2 files changed, 13 insertions, 2 deletions
diff --git a/common/rc b/common/rc
index 807a1f6c..4bee0c88 100644
--- a/common/rc
+++ b/common/rc
@@ -2163,6 +2163,12 @@ _require_xfs_io_command()
local testfile=$TEST_DIR/$$.xfs_io
local testio
case $command in
+ "lsattr")
+ # Test xfs_io lsattr support and filesystem FS_IOC_FSSETXATTR
+ # support.
+ testio=`$XFS_IO_PROG -F -f -c "lsattr $param" $testfile 2>&1`
+ param_checked="$param"
+ ;;
"chattr")
local testdir=$TEST_DIR/$$.attr_dir
mkdir $TEST_DIR/$$.attr_dir
@@ -3230,7 +3236,7 @@ _check_s_dax()
if [ $exp_s_dax -eq 0 ]; then
(( attributes & 0x2000 )) && echo "$target has unexpected S_DAX flag"
else
- (( attributes & 0x2000 )) || echo "$target doen't have expected S_DAX flag"
+ (( attributes & 0x2000 )) || echo "$target doesn't have expected S_DAX flag"
fi
}
@@ -3242,7 +3248,7 @@ _check_xflag()
if [ $exp_xflag -eq 0 ]; then
_test_inode_flag dax $target && echo "$target has unexpected FS_XFLAG_DAX flag"
else
- _test_inode_flag dax $target || echo "$target doen't have expected FS_XFLAG_DAX flag"
+ _test_inode_flag dax $target || echo "$target doesn't have expected FS_XFLAG_DAX flag"
fi
}
diff --git a/tests/generic/607 b/tests/generic/607
index b15085ea..14d2c05f 100755
--- a/tests/generic/607
+++ b/tests/generic/607
@@ -38,6 +38,11 @@ _require_scratch
_require_dax_iflag
_require_xfs_io_command "lsattr" "-v"
+# Make sure we can call FSGETXATTR on a directory...
+output="$($XFS_IO_PROG -c "lsattr -v" $TEST_DIR 2>&1)"
+echo "$output" | grep -q "Inappropriate ioctl for device" && \
+ _notrun "$FSTYP: FSGETXATTR not supported on directories."
+
# If a/ is +x, check that a's new children
# inherit +x from a/.
test_xflag_inheritance1()