Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

NFSD: Add nfsd4_encode_fattr4_acl_trueform_scope

The FATTR4_ACL_TRUEFORM_SCOPE attribute indicates the granularity at
which the ACL model can vary: per file object, per file system, or
uniformly across the entire server.

In Linux, the ACL model is determined by the SB_POSIXACL superblock
flag, which applies uniformly to all files within a file system.
Different exported file systems can have different ACL models, but
individual files cannot differ from their containing file system.
ACL_SCOPE_FILE_SYSTEM accurately reflects this behavior.

Signed-off-by: Rick Macklem <rmacklem@uoguelph.ca>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

authored by

Rick Macklem and committed by
Chuck Lever
8093c31f 4a639a72

+10
+10
fs/nfsd/nfs4xdr.c
··· 3484 3484 return nfs_ok; 3485 3485 } 3486 3486 3487 + static __be32 nfsd4_encode_fattr4_acl_trueform_scope(struct xdr_stream *xdr, 3488 + const struct nfsd4_fattr_args *args) 3489 + { 3490 + if (!xdrgen_encode_aclscope4(xdr, ACL_SCOPE_FILE_SYSTEM)) 3491 + return nfserr_resource; 3492 + return nfs_ok; 3493 + } 3494 + 3487 3495 #endif /* CONFIG_NFSD_V4_POSIX_ACLS */ 3488 3496 3489 3497 static const nfsd4_enc_attr nfsd4_enc_fattr4_encode_ops[] = { ··· 3604 3596 3605 3597 #ifdef CONFIG_NFSD_V4_POSIX_ACLS 3606 3598 [FATTR4_ACL_TRUEFORM] = nfsd4_encode_fattr4_acl_trueform, 3599 + [FATTR4_ACL_TRUEFORM_SCOPE] = nfsd4_encode_fattr4_acl_trueform_scope, 3607 3600 #else 3608 3601 [FATTR4_ACL_TRUEFORM] = nfsd4_encode_fattr4__noop, 3602 + [FATTR4_ACL_TRUEFORM_SCOPE] = nfsd4_encode_fattr4__noop, 3609 3603 #endif 3610 3604 }; 3611 3605