2020-08-31 22:39:08

by J. Bruce Fields

[permalink] [raw]
Subject: [[email protected]: all 6970bc51 SUNRPC/NFSD: Implement xdr_reserve_space_vec() results]

I'm getting a few xfstests failures, are they known? Apologies if
they've already been discussed.

--b.

generic/020 - output mismatch (see /root/xfstests-dev/results//generic/020.out.bad)
--- tests/generic/020.out 2019-12-20 17:34:10.433343742 -0500
+++ /root/xfstests-dev/results//generic/020.out.bad 2020-08-29 13:03:29.270527451 -0400
@@ -40,7 +40,8 @@

*** add lots of attributes
*** check
- *** MAX_ATTRS attribute(s)
+getfattr: /mnt/attribute_36648: Argument list too long
+ *** -1 attribute(s)
*** remove lots of attributes
...
(Run 'diff -u /root/xfstests-dev/tests/generic/020.out /root/xfstests-dev/results//generic/020.out.bad' to see the entire diff)

generic/097 - output mismatch (see /root/xfstests-dev/results//generic/097.out.bad)
--- tests/generic/097.out 2019-12-20 17:34:10.453343686 -0500
+++ /root/xfstests-dev/results//generic/097.out.bad 2020-08-29 13:07:00.070382348 -0400
@@ -5,18 +5,16 @@
*** Test out the trusted namespace ***

set EA <trusted:colour,marone>:
+setfattr: TEST_DIR/foo: Operation not supported

set EA <user:colour,beige>:

...
(Run 'diff -u /root/xfstests-dev/tests/generic/097.out /root/xfstests-dev/results//generic/097.out.bad' to see the entire diff)


2020-08-31 22:44:55

by Frank van der Linden

[permalink] [raw]
Subject: Re: [[email protected]: all 6970bc51 SUNRPC/NFSD: Implement xdr_reserve_space_vec() results]

On Mon, Aug 31, 2020 at 03:02:18PM -0400, J. Bruce Fields wrote:
>
> I'm getting a few xfstests failures, are they known? Apologies if
> they've already been discussed.
>
> --b.
>
> generic/020 - output mismatch (see /root/xfstests-dev/results//generic/020.out.bad)
> --- tests/generic/020.out 2019-12-20 17:34:10.433343742 -0500
> +++ /root/xfstests-dev/results//generic/020.out.bad 2020-08-29 13:03:29.270527451 -0400
> @@ -40,7 +40,8 @@
>
> *** add lots of attributes
> *** check
> - *** MAX_ATTRS attribute(s)
> +getfattr: /mnt/attribute_36648: Argument list too long
> + *** -1 attribute(s)
> *** remove lots of attributes
> ...
> (Run 'diff -u /root/xfstests-dev/tests/generic/020.out /root/xfstests-dev/results//generic/020.out.bad' to see the entire diff)
>
> generic/097 - output mismatch (see /root/xfstests-dev/results//generic/097.out.bad)
> --- tests/generic/097.out 2019-12-20 17:34:10.453343686 -0500
> +++ /root/xfstests-dev/results//generic/097.out.bad 2020-08-29 13:07:00.070382348 -0400
> @@ -5,18 +5,16 @@
> *** Test out the trusted namespace ***
>
> set EA <trusted:colour,marone>:
> +setfattr: TEST_DIR/foo: Operation not supported
>
> set EA <user:colour,beige>:
>
> ...
> (Run 'diff -u /root/xfstests-dev/tests/generic/097.out /root/xfstests-dev/results//generic/097.out.bad' to see the entire diff)

Yeah, they are known.

Problem 1, as seen in generic/097: xfstests assumes that xattr support is
all-or-nothing, and can't deal with NFS supporting the "user" namespace,
but not the "trusted" namespace, which it will never support.

Problem 2, as seen in generic/020: MAX_ATTRS is set to the wrong default
value (too large), which means that the test will trigger a generic Linux
xattr bug: you can set more xattrs than you can list. E.g. if you set enough
xattrs to have a total name size > XATTR_LIST_MAX. But then listxattrs can't
list them anymore. flistxattr(fd, NULL, 0) (a probe listxattr) will then
return E2BIG. This issue has been around forever in the xattr code.

I have some changes to xfstests to fix the tests, but I need to rebase
and re-test them.

- Frank

2020-08-31 22:55:47

by Frank van der Linden

[permalink] [raw]
Subject: Re: [[email protected]: all 6970bc51 SUNRPC/NFSD: Implement xdr_reserve_space_vec() results]

On Mon, Aug 31, 2020 at 04:40:27PM -0400, J. Bruce Fields wrote:
>
> On Mon, Aug 31, 2020 at 07:31:09PM +0000, Frank van der Linden wrote:
> > On Mon, Aug 31, 2020 at 03:02:18PM -0400, J. Bruce Fields wrote:
> > >
> > > I'm getting a few xfstests failures, are they known? Apologies if
> > > they've already been discussed.
> > >
> > > --b.
> > >
> > > generic/020 - output mismatch (see /root/xfstests-dev/results//generic/020.out.bad)
> > > --- tests/generic/020.out 2019-12-20 17:34:10.433343742 -0500
> > > +++ /root/xfstests-dev/results//generic/020.out.bad 2020-08-29 13:03:29.270527451 -0400
> > > @@ -40,7 +40,8 @@
> > >
> > > *** add lots of attributes
> > > *** check
> > > - *** MAX_ATTRS attribute(s)
> > > +getfattr: /mnt/attribute_36648: Argument list too long
> > > + *** -1 attribute(s)
> > > *** remove lots of attributes
> > > ...
> > > (Run 'diff -u /root/xfstests-dev/tests/generic/020.out /root/xfstests-dev/results//generic/020.out.bad' to see the entire diff)
> > >
> > > generic/097 - output mismatch (see /root/xfstests-dev/results//generic/097.out.bad)
> > > --- tests/generic/097.out 2019-12-20 17:34:10.453343686 -0500
> > > +++ /root/xfstests-dev/results//generic/097.out.bad 2020-08-29 13:07:00.070382348 -0400
> > > @@ -5,18 +5,16 @@
> > > *** Test out the trusted namespace ***
> > >
> > > set EA <trusted:colour,marone>:
> > > +setfattr: TEST_DIR/foo: Operation not supported
> > >
> > > set EA <user:colour,beige>:
> > >
> > > ...
> > > (Run 'diff -u /root/xfstests-dev/tests/generic/097.out /root/xfstests-dev/results//generic/097.out.bad' to see the entire diff)
> >
> > Yeah, they are known.
>
> Thanks for the explanation. And I see now you had a more exhaustive
> list of xfstest results here:
>
> https://lore.kernel.org/linux-nfs/20200317230339.GA3130@dev-dsk-fllinden-2c-c1893d73.us-west-2.amazon.com/
>
> For some reason I didn't manage to find that before.
>
> --b.

Yep - I think I've fixed the issues in xfstests I listed there. I just
need to re-run the tests, and not just for NFS. I'll do runs for xfs, ext4
and NFS. If everything looks ok, I'll send the changes in, they're pretty
simple.

- Frank

2020-08-31 22:56:54

by J. Bruce Fields

[permalink] [raw]
Subject: Re: [[email protected]: all 6970bc51 SUNRPC/NFSD: Implement xdr_reserve_space_vec() results]

On Mon, Aug 31, 2020 at 07:31:09PM +0000, Frank van der Linden wrote:
> On Mon, Aug 31, 2020 at 03:02:18PM -0400, J. Bruce Fields wrote:
> >
> > I'm getting a few xfstests failures, are they known? Apologies if
> > they've already been discussed.
> >
> > --b.
> >
> > generic/020 - output mismatch (see /root/xfstests-dev/results//generic/020.out.bad)
> > --- tests/generic/020.out 2019-12-20 17:34:10.433343742 -0500
> > +++ /root/xfstests-dev/results//generic/020.out.bad 2020-08-29 13:03:29.270527451 -0400
> > @@ -40,7 +40,8 @@
> >
> > *** add lots of attributes
> > *** check
> > - *** MAX_ATTRS attribute(s)
> > +getfattr: /mnt/attribute_36648: Argument list too long
> > + *** -1 attribute(s)
> > *** remove lots of attributes
> > ...
> > (Run 'diff -u /root/xfstests-dev/tests/generic/020.out /root/xfstests-dev/results//generic/020.out.bad' to see the entire diff)
> >
> > generic/097 - output mismatch (see /root/xfstests-dev/results//generic/097.out.bad)
> > --- tests/generic/097.out 2019-12-20 17:34:10.453343686 -0500
> > +++ /root/xfstests-dev/results//generic/097.out.bad 2020-08-29 13:07:00.070382348 -0400
> > @@ -5,18 +5,16 @@
> > *** Test out the trusted namespace ***
> >
> > set EA <trusted:colour,marone>:
> > +setfattr: TEST_DIR/foo: Operation not supported
> >
> > set EA <user:colour,beige>:
> >
> > ...
> > (Run 'diff -u /root/xfstests-dev/tests/generic/097.out /root/xfstests-dev/results//generic/097.out.bad' to see the entire diff)
>
> Yeah, they are known.

Thanks for the explanation. And I see now you had a more exhaustive
list of xfstest results here:

https://lore.kernel.org/linux-nfs/20200317230339.GA3130@dev-dsk-fllinden-2c-c1893d73.us-west-2.amazon.com/

For some reason I didn't manage to find that before.

--b.

>
> Problem 1, as seen in generic/097: xfstests assumes that xattr support is
> all-or-nothing, and can't deal with NFS supporting the "user" namespace,
> but not the "trusted" namespace, which it will never support.
>
> Problem 2, as seen in generic/020: MAX_ATTRS is set to the wrong default
> value (too large), which means that the test will trigger a generic Linux
> xattr bug: you can set more xattrs than you can list. E.g. if you set enough
> xattrs to have a total name size > XATTR_LIST_MAX. But then listxattrs can't
> list them anymore. flistxattr(fd, NULL, 0) (a probe listxattr) will then
> return E2BIG. This issue has been around forever in the xattr code.
>
> I have some changes to xfstests to fix the tests, but I need to rebase
> and re-test them.
>
> - Frank

2020-08-31 22:58:05

by J. Bruce Fields

[permalink] [raw]
Subject: Re: [[email protected]: all 6970bc51 SUNRPC/NFSD: Implement xdr_reserve_space_vec() results]

On Mon, Aug 31, 2020 at 08:52:06PM +0000, Frank van der Linden wrote:
> Yep - I think I've fixed the issues in xfstests I listed there. I just
> need to re-run the tests, and not just for NFS. I'll do runs for xfs, ext4
> and NFS. If everything looks ok, I'll send the changes in, they're pretty
> simple.

Great, thanks.--b.