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>
This commit is contained in:
Darrick J. Wong
2020-09-14 18:43:15 -07:00
committed by Eryu Guan
parent 4f9dd73596
commit 69a4ba7303
2 changed files with 13 additions and 2 deletions
+8 -2
View File
@@ -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
}
+5
View File
@@ -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()