Re: [PATCH v1 00/17] Add NFSv4.2 POSIX ACL support

Rick Macklem
2025-12-31T02:49:56Z

On Tue, Dec 30, 2025 at 6:48 PM Chuck Lever <cel@kernel.org> wrote:
>
>
>
> On Tue, Dec 30, 2025, at 9:21 PM, rick.macklem@gmail.com wrote:
> > From: Rick Macklem <rmacklem@uoguelph.ca>
> >
> > The Internet draft "POSIX Draft ACL support for
> > Network File System Version 4, Minor Version2"
> > https://datatracker.ietf.org/doc/draft-ietf-nfsv4-posix-acls/
> > describes an extension to NFSv4.2 so that POSIX
> > draft ACLs can get acquired and set directly,
> > without using the loosey NFSv4->POSIX draft mapping
> > algorith. It extends the protocol with four new
> > attributes.
> >
> > This patch series implements the server side of
> > this extension for the knfsd. It is analogous
> > to the NFSACL protocol used as a sideband protocol
> > for NFSv3 and allows the ACLs to be acquired/set
> > be getfacl(1)/setfacl(1).
> >
> > The current implementation does not support the
> > "per file" scope, where individual file objects
> > store/use either an NFSv4 ACL or POSIX draft ACL
> > and assumes POSIX draft ACLs are supported for an
> > entire file system, if support for POSIX draft ACLs
> > is indicated.
> >
> > Rick Macklem (17):
> > Add definitions for the POSIX draft ACL attributes
> > Add a new function to acquire the POSIX draft ACLs
> > Add a function to set POSIX ACLs
> > Add support for encoding/decoding POSIX draft ACLs
> > Add a check for both POSIX and NFSv4 ACLs being set
> > Add na_dpaclerr and na_paclerr for file creation
> > Add support for POSIX draft ACLs for file creation
> > Add the arguments for decoding of POSIX ACLs
> > Fix a couple of bugs in POSIX ACL decoding
> > Improve correctness for the ACL_TRUEFORM attribute
> > Make sort_pacl_range() global
> > Call sort_pacl_range() for decoded POSIX draft ACLs
> > Fix handling of POSIX ACLs with zero ACEs
> > Fix handling of zero length ACLs for file creation
> > Do not allow (N)VERIFY to check POSIX ACL attributes
> > Set the POSIX ACL attributes supported
> > Change a bunch of function prefixes to nfsd42_
> >
> > fs/nfsd/acl.h | 3 +
> > fs/nfsd/nfs4acl.c | 35 ++++-
> > fs/nfsd/nfs4proc.c | 126 +++++++++++++++--
> > fs/nfsd/nfs4xdr.c | 312 ++++++++++++++++++++++++++++++++++++++++++-
> > fs/nfsd/nfsd.h | 8 +-
> > fs/nfsd/vfs.c | 34 ++++-
> > fs/nfsd/vfs.h | 2 +
> > fs/nfsd/xdr4.h | 6 +
> > include/linux/nfs4.h | 37 +++++
> > 9 files changed, 536 insertions(+), 27 deletions(-)
> >
> > --
> > 2.49.0
>
> Thanks for posting, Rick! What branch/tree/commit did you base this series on?
It's against your nfsd-testing branch of a few days ago.

rick

>
>
> --
> Chuck Lever