Re: [PATCH v3] generic/401: fix test in case of no filetype support

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]



On Wed, Jun 06, 2018 at 10:02:37AM +0800, xuhuan wrote:
> Hi
> 
> I have tested it passed on nfs.

What version of NFS are you testing? And what's your kernel version? I
couldn't reproduce the test failure on NFS (tried v4.[012] and v3) with
v4.17-rc5 kernel. Just want to make sure I didn't miss anything.

Thanks,
Eryu

> 
> thanks.
> 
> On 06/05/18 16:08, Amir Goldstein wrote:
> > Xu Huan reported that this test fails on nfs in some setup.
> > Apparently, the assumptions made about xfs/ext* do not hold
> > for nfs.
> >
> > Relax the verification of filetype not supported case to
> > allow either DT_UNKNOWN or actual file type on all files and
> > not only on special dir entires "." and "..".
> >
> > Convert the unknown d_type replacement code from awk to bash
> > so it is a bit more readable and flexible.
> Tested-by:Xu Huan <xuhuan.fnst@xxxxxxxxxxxxxx>
> > Reported-by: Xu Huan <xuhuan.fnst@xxxxxxxxxxxxxx>
> > Signed-off-by: Amir Goldstein <amir73il@xxxxxxxxx>
> > ---
> >
> > Xu,
> >
> > Please check if this patch fixes your problem.
> > I prefer to keep the test coverage of unsupported case.
> >
> > I tested with xfs/ext4 with/without filetype support.
> >
> > Thanks,
> > Amir.
> >
> >  tests/generic/401 | 42 ++++++++++++++++++++----------------------
> >  1 file changed, 20 insertions(+), 22 deletions(-)
> >
> > diff --git a/tests/generic/401 b/tests/generic/401
> > index 74f2bea..34ce76e 100755
> > --- a/tests/generic/401
> > +++ b/tests/generic/401
> > @@ -4,14 +4,13 @@
> >  # Test filetype feature
> >  #
> >  # This test does NOT require that file system support the d_type feature.
> > -# It verifies that either all file types are reported as DT_UNKNOWN
> > -# or all file types are reported correctly.
> > +# It verifies that file types are reported as either DT_UNKNOWN or as
> > +# the actual file type. For example, special dir entries . and .. MAY be
> > +# reported as DT_UNKNOWN IF filetype feature is disabled (ext4), but MAY
> > +# also be reported as DT_DIR in this case (xfs).
> >  #
> >  # For fs for which we know how to test the filetype feature (xfs|ext*)
> >  # verify getting DT_UNKNOWN IFF feature is disabled.
> > -# Special dir entries . and .. MAY be reported as DT_UNKNOWN IF filetype
> > -# feature is disabled (ext4), but MAY also be reported as DT_DIR in this
> > -# case (xfs).
> >  #
> >  #-----------------------------------------------------------------------
> >  #
> > @@ -73,23 +72,22 @@ mknod $testdir/c c 1 1
> >  mknod $testdir/b b 1 1
> >  mknod $testdir/p p
> >  
> > -# Test d_type of . and ..
> > -# it must be DT_DIR on fs with filetype support and it could be
> > -# either DR_DIR or DT_UNKNOWN on fs without filetype support
> > -src/t_dir_type $testdir d | grep -F '.' | sort
> > -
> > -# Test that either all file types are unknown or all are correct
> > -if _supports_filetype $SCRATCH_MNT; then
> > -	# print real file types
> > -	src/t_dir_type $testdir | grep -vF '.' | sort
> > -else
> > -	# print fake dir file type for . and .. if they are DT_UNKNOWN
> > -	src/t_dir_type $testdir u | grep -F '.' | \
> > -		awk '{ print $1, "d" }' | sort
> > -	# list unknown files and print filename as fake file type
> > -	src/t_dir_type $testdir u | grep -vF '.' | \
> > -		awk '{ print $1, $1 }' | sort
> > -fi
> > +# Test d_type of test files - it must be the actual file type on fs
> > +# with filetype support and it could be either the actual file type
> > +# or DT_UNKNOWN on fs without filetype support
> > +ftype=
> > +_supports_filetype $SCRATCH_MNT && ftype=1
> > +src/t_dir_type $testdir | \
> > +while read name type; do
> > +	if [ "$ftype" != 1 -a "$type" = u ]; then
> > +		if [ "$name" = "." -o "$name" = ".." ]; then
> > +			type=d
> > +		else
> > +			type=$name
> > +		fi
> > +	fi
> > +	echo $name $type
> > +done | sort
> >  
> >  status=0
> >  exit
> 
> 
> 
--
To unsubscribe from this list: send the line "unsubscribe fstests" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux