Re: [PATCH 03/24] generic/607: don't break on filesystems that don't support FSGETXATTR on dirs

Zorro Lang
2020-09-16T00:42:53Z

On Mon, Sep 14, 2020 at 06:43:15PM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <darrick.wong@oracle.com>
>
> 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>
> ---

Good to me,
Reviewed-by: Zorro Lang <zlang@redhat.com>

> 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()
>