Here's a set of patches that make xfstests (mostly) work with the in-kernel AFS client. It has to allow for a number of features of AFS, in particular: (*) AFS has its own permissions service that makes use of authentication tokens obtained from such as kerberos and uses this in combination with ACLs to determine file access rights. This overrides the use of UNIX permissions and using su to impersonate another user doesn't work. (*) AFS sets the inode UID field to the user ID associated with the authentication token, not the client's fsuid when creating. (*) AFS doesn't support SUID/SGID/SVTX bits and doesn't support SGID/GID propagation. (*) For AFS, the DIO alignment is 1 (don't have to deal with DMA). This causes posix_memalign() to fail. I've added fixes/workarounds for the above. There are also three -g quick tests that fail still. generic/258 and generic/634 fail because they try to use dates that the server refuses to handle (and gives EOVERFLOW for), and generic/478 fails because AFS file locking can't lock ranges. A kernel patch[1] is required to make generic/035 work. David Link: https://lore.kernel.org/r/162194384460.3999479.7605572278074191079.stgit@xxxxxxxxxxxxxxxxxxxxxx/ [1] --- David Howells (9): Add AFS support generic/294, afs: Allow for mknod subtest failing if mknod not supported generic/314, afs: Allow for a filesystem that doesn't honour SGID inheritance generic/317, afs: Allow for a filesystem not to honour the local uid/gid generic/123, generic/128, afs: Allow for an fs that does its own perm management Add the ability to require O_TMPFILE to be supported for a test afs: Indicate the minimum DIO alignment is 1 generic/465: Fix handling of DIO alignment < sizeof(long) Fix other posix_memalign() alignment issues common/rc | 48 +++++++++++++++++++ doc/requirement-checking.txt | 39 +++++++++++++++ .../aio-dio-append-write-read-race.c | 7 +-- src/aio-dio-regress/aiocp.c | 2 + src/aio-dio-regress/aiodio_sparse2.c | 3 +- src/dio-interleaved.c | 5 +- tests/generic/123 | 1 + tests/generic/128 | 1 + tests/generic/294 | 8 ++++ tests/generic/294.cfg | 1 + tests/generic/294.out | 5 -- tests/generic/294.out.mknod | 6 +++ tests/generic/294.out.nomknod | 7 +++ tests/generic/314 | 1 + tests/generic/317 | 1 + tests/generic/531 | 1 + 16 files changed, 126 insertions(+), 10 deletions(-) create mode 100644 tests/generic/294.cfg delete mode 100644 tests/generic/294.out create mode 100644 tests/generic/294.out.mknod create mode 100644 tests/generic/294.out.nomknod