From: Darrick J. Wong <darrick.wong@xxxxxxxxxx> 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@xxxxxxxxxx> --- common/rc | 10 ++++++++-- tests/generic/607 | 5 +++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/common/rc b/common/rc index aa5a7409..f78b1cfc 100644 --- a/common/rc +++ b/common/rc @@ -2162,6 +2162,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") if [ -z "$param" ]; then param=s @@ -3205,7 +3211,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 } @@ -3217,7 +3223,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()