From: Eryu Guan <guaneryu@gmail.com>
To: xuhuan <xuhuan.fnst@cn.fujitsu.com>
Cc: Amir Goldstein <amir73il@gmail.com>, fstests@vger.kernel.org
Subject: Re: [PATCH v3] generic/401: fix test in case of no filetype support
Date: Thu, 7 Jun 2018 19:13:48 +0800 [thread overview]
Message-ID: <20180607111348.GI2861@desktop> (raw)
In-Reply-To: <c6dee1d1-f737-c60d-865b-b4b08e43b6d2@cn.fujitsu.com>
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@cn.fujitsu.com>
> > Reported-by: Xu Huan <xuhuan.fnst@cn.fujitsu.com>
> > Signed-off-by: Amir Goldstein <amir73il@gmail.com>
> > ---
> >
> > 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
>
>
>
next prev parent reply other threads:[~2018-06-07 11:13 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-05 8:08 [PATCH v3] generic/401: fix test in case of no filetype support Amir Goldstein
2018-06-06 2:02 ` xuhuan
2018-06-07 11:13 ` Eryu Guan [this message]
2018-06-07 11:29 ` Amir Goldstein
2018-06-08 9:20 ` xuhuan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180607111348.GI2861@desktop \
--to=guaneryu@gmail.com \
--cc=amir73il@gmail.com \
--cc=fstests@vger.kernel.org \
--cc=xuhuan.fnst@cn.fujitsu.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.