linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/9] pynfs tests for setting ACL+MODE
@ 2025-11-25 19:49 Chuck Lever
  2025-11-25 19:49 ` [PATCH v2 1/9] Add helper to report unsupported protocol features Chuck Lever
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: Chuck Lever @ 2025-11-25 19:49 UTC (permalink / raw)
  To: linux-nfs; +Cc: Calum Mackay, aurelien.couderc2002, Chuck Lever

From: Chuck Lever <chuck.lever@oracle.com>

There are plenty of corner cases when an NFSv4 client requests
setting an NFSv4 ACL and POSIX mode bits in the a single SETATTR
request. It's even worse for NFS server implementations that have
to translate NFSv4 ACLs to POSIX ACLs.

Note that the in-kernel Linux NFS client itself does not support 
NFSv4 ACLs since Linux is a POSIX ACL ecosystem. I believe it will
never send an OPEN(create) or SETATTR that sets an NFSv4 ACL and
mode bits simultaneously, relying on only user space tooling to set
the ACL. So we must depend on only pynfs for testing this particular
NFSD facility.

pynfs didn't have many tests in this particular category when I set
out to troubleshoot a recently reported ACL+MODE bug in NFSD. So
I've written a handful to exercise this specific case.

Changes since RFC:
* De-duplicate code shared between NFSv4.0 and NFSv4.1
* Remove named principals tests for now
* Replace incorrect usage of binary strings
* Add missing patch descriptions

Chuck Lever (9):
  Add helper to report unsupported protocol features
  Add helper to format attribute bitmaps
  Add a helper to compute POSIX mode bits from NFSv4 ACLs
  Add access_mask_to_str() helper to nfs4.0/nfs4acl.py
  Add make_test_acl() helper to nfs4acl modules
  Add verify_acl() helper to nfs4acl modules
  Add verify_mode_and_acl() helper to nfs4acl modules
  Add tests for SETATTR with MODE and ACL
  Add tests for OPEN(create) with ACLs

 nfs4.0/nfs4acl.py                   | 180 ++++++
 nfs4.0/servertests/st_setattr.py    | 863 +++++++++++++++++++++++++++-
 nfs4.1/nfs4acl.py                   |   1 +
 nfs4.1/nfs4lib.py                   |   8 +
 nfs4.1/server41tests/environment.py |   3 +
 nfs4.1/server41tests/st_open.py     | 723 ++++++++++++++++++++++-
 6 files changed, 1774 insertions(+), 4 deletions(-)
 create mode 120000 nfs4.1/nfs4acl.py

-- 
2.51.1


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2025-11-25 19:49 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-25 19:49 [PATCH v2 0/9] pynfs tests for setting ACL+MODE Chuck Lever
2025-11-25 19:49 ` [PATCH v2 1/9] Add helper to report unsupported protocol features Chuck Lever
2025-11-25 19:49 ` [PATCH v2 2/9] Add helper to format attribute bitmaps Chuck Lever
2025-11-25 19:49 ` [PATCH v2 3/9] Add a helper to compute POSIX mode bits from NFSv4 ACLs Chuck Lever
2025-11-25 19:49 ` [PATCH v2 4/9] Add access_mask_to_str() helper to nfs4.0/nfs4acl.py Chuck Lever
2025-11-25 19:49 ` [PATCH v2 5/9] Add make_test_acl() helper to nfs4acl modules Chuck Lever
2025-11-25 19:49 ` [PATCH v2 6/9] Add verify_acl() " Chuck Lever
2025-11-25 19:49 ` [PATCH v2 7/9] Add verify_mode_and_acl() " Chuck Lever
2025-11-25 19:49 ` [PATCH v2 8/9] Add tests for SETATTR with MODE and ACL Chuck Lever
2025-11-25 19:49 ` [PATCH v2 9/9] Add tests for OPEN(create) with ACLs Chuck Lever

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).