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

Darrick J. Wong
2020-09-17T03:27:42Z

On Thu, Sep 17, 2020 at 09:41:01AM +0800, Xiao Yang wrote:
> On 2020/9/15 9:43, 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>
> > ---
> > 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."
> Hi Darrick,
>
> Could you tell me which kernel version gets the issue? :-)

ext4.

--D

> Best Regards,
> Xiao Yang
> > +
> > # If a/ is +x, check that a's new children
> > # inherit +x from a/.
> > test_xflag_inheritance1()
> >
> >
> >
> > .
> >
>
>
>