generic/529: use an ACL that doesn't confuse NFS
authorJ. Bruce Fields <bfields@redhat.com>
Thu, 19 Dec 2019 22:33:36 +0000 (17:33 -0500)
committerEryu Guan <guaneryu@gmail.com>
Mon, 6 Jan 2020 08:55:52 +0000 (16:55 +0800)
For historical reasons having to do with Solaris ACL behavior, the Linux
client treats an ACL like the one used as an example here as equivalent
to a mode, causing listxattr to report that no ACL is set on the file.

(See the comment at the top of fs/nfs_common/nfsacl.c in the kernel
source for details, and the "bogus ACL_MASK entry" comment in the same
source file.)  This causes a spurious generic/529 failure on NFS.

As far as I can tell any ACL should trigger the original XFS problem.
So, modify it so as not to hit this odd NFS corner case.

Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Reviewed-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
src/t_attr_corruption.c

index e7d435b1791f3f4fbcb53618ab1abecdc4f9573c..b5513d44a288c217ac92a8a1b936db95f971f9ec 100644 (file)
@@ -59,7 +59,7 @@ int main(int argc, char *argv[])
                .e = {
                        {htole16(1), 0, 0},
                        {htole16(4), 0, 0},
-                       {htole16(0x10), 0, 0},
+                       {htole16(0x10), htole16(4), 0},
                        {htole16(0x20), 0, 0},
                },
        };