[PATCH v2 0/6] xfstests: Add support for using xfstests to test AFS

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]



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 propagate SGID on
     directories, though it will propagate the GID.

 (*) chown is rejected unless you have an authentication token that
     indicates you're the owner of the file.

I've added fixes/workarounds for the above.  There are five -g quick tests
that fail if unauthenticated:

 - generic/258
 - generic/634
	Fail because they try to use dates that the server refuses to
	handle (and gives EOVERFLOW for).

 - generic/478
	Fails because AFS file locking can't lock ranges.

 - generic/633
	Fails because of chown.

 - generic/696
	Fails because AFS doesn't propagate SGID in mkdir.  This may be a
	client (kernel) bug, a server bug or a design feature.

And if authenticated, the following additional failures occur because AFS
uses its own ACLs and authentication:

 - generic/087
 - generic/126
 - generic/193
 - generic/088

David

Changes
=======
ver #2)
 - Rebased.
 - Dropped the patches to handle the DIO blocksize being 1 as none of the
   quick tests now use it on AFS.
 - Changed generic/696 to not supply "noacl" to AFS.

Link: https://lore.kernel.org/r/162194962878.4011860.5561077785368723619.stgit@xxxxxxxxxxxxxxxxxxxxxx/ # v1

David Howells (6):
  Add AFS support
  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
  generic/531: Check for O_TMPFILE
  generic/696: AFS doesn't support the "noacl" command line option

 build/rpm/xfstests.spec.in   |  2 +-
 check                        |  3 +-
 common/config                | 15 ++++++--
 common/rc                    | 69 ++++++++++++++++++++++++++++++++----
 doc/requirement-checking.txt | 23 ++++++++++++
 tests/generic/123            |  1 +
 tests/generic/128            |  1 +
 tests/generic/314            |  1 +
 tests/generic/317            |  1 +
 tests/generic/531            |  1 +
 tests/generic/696            |  5 ++-
 11 files changed, 110 insertions(+), 12 deletions(-)




[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux