mbox series

[0/9] Add support for using xfstests to test AFS

Message ID 162194962878.4011860.5561077785368723619.stgit@warthog.procyon.org.uk (mailing list archive)
Headers show
Series Add support for using xfstests to test AFS | expand

Message

David Howells May 25, 2021, 1:33 p.m. UTC
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@warthog.procyon.org.uk/ [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