Linux NFS development
 help / color / mirror / Atom feed
* [RFC PATCH 00/10] pynfs tests for setting ACL+MODE
@ 2025-11-23 15:56 Chuck Lever
  2025-11-23 15:56 ` [RFC PATCH 01/10] Add helper to report unsupported protocol features Chuck Lever
                   ` (10 more replies)
  0 siblings, 11 replies; 13+ messages in thread
From: Chuck Lever @ 2025-11-23 15:56 UTC (permalink / raw)
  To: Calum Mackay; +Cc: linux-nfs, 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 pynfs for testing this server feature.

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.

These are RFC, so Calum, let's hold off on applying these until
they've had some review.

Chuck Lever (10):
  Add helper to report unsupported protocol features
  Add helper to format ACE access masks
  Add helper to format attribute bitmaps
  Add a helper to compute POSIX mode bits from NFSv4 ACLs
  Add make_test_acl() helper to nfs4acl modules
  Add access_mask_to_str() helper to nfs4.0/nfs4acl.py
  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    | 844 +++++++++++++++++++++++++++-
 nfs4.1/nfs4acl.py                   | 188 +++++++
 nfs4.1/nfs4lib.py                   |  69 +++
 nfs4.1/server41tests/environment.py |   3 +
 nfs4.1/server41tests/st_open.py     | 723 +++++++++++++++++++++++-
 6 files changed, 2003 insertions(+), 4 deletions(-)
 create mode 100644 nfs4.1/nfs4acl.py

-- 
2.51.1


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

end of thread, other threads:[~2025-11-23 17:21 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-23 15:56 [RFC PATCH 00/10] pynfs tests for setting ACL+MODE Chuck Lever
2025-11-23 15:56 ` [RFC PATCH 01/10] Add helper to report unsupported protocol features Chuck Lever
2025-11-23 15:56 ` [RFC PATCH 02/10] Add helper to format ACE access masks Chuck Lever
2025-11-23 15:56 ` [RFC PATCH 03/10] Add helper to format attribute bitmaps Chuck Lever
2025-11-23 15:56 ` [RFC PATCH 04/10] Add a helper to compute POSIX mode bits from NFSv4 ACLs Chuck Lever
2025-11-23 15:56 ` [RFC PATCH 05/10] Add make_test_acl() helper to nfs4acl modules Chuck Lever
2025-11-23 16:04   ` Chuck Lever
2025-11-23 15:56 ` [RFC PATCH 06/10] Add access_mask_to_str() helper to nfs4.0/nfs4acl.py Chuck Lever
2025-11-23 15:56 ` [RFC PATCH 07/10] Add verify_acl() helper to nfs4acl modules Chuck Lever
2025-11-23 15:56 ` [RFC PATCH 08/10] Add verify_mode_and_acl() " Chuck Lever
2025-11-23 15:56 ` [RFC PATCH 09/10] Add tests for SETATTR with MODE and ACL Chuck Lever
2025-11-23 15:56 ` [RFC PATCH 10/10] Add tests for OPEN(create) with ACLs Chuck Lever
2025-11-23 17:20 ` [RFC PATCH 00/10] pynfs tests for setting ACL+MODE Calum Mackay

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox