From nobody Mon Dec 22 23:23:38 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dZvMt431Xz6Lr0t for ; Mon, 22 Dec 2025 23:23:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dZvMt2YzFz3Rvn for ; Mon, 22 Dec 2025 23:23:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766445818; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KSkD3rlf5qIJ61BhFMKqjC2MPGvpTDf/fyDzWNx2wvE=; b=F/HpiRrQ5fPujjeZl+qt21pl8N7mCSQs8VlhkH4/nklCPN81wK8MWfAAo8/YtQgqDn+8SW bgaHo83lE/vs2m3YVrSvLXix8WxpRjvnVxuv+zcmyqZCFLcwjjYR7MTEUgsyrzuNCBz86w s9uNdSWxyu3Gs5O7KIZkw6SZtXNHhWYa5rShZJxXlaKOcOfn86xaLItorJ99DvCWXSt/oK +CRDsI1RmIuVVS5HN0yG67HqN3+GW533r9wU4xTUj6nkP162Umoeh5mrleInUiUDF3bHBh KAdukxIt/Qht+9AAHCXY7sX6xO7yA2ddZzADKsRRm7ZQMLN/yVF9wAlsh//L6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766445818; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KSkD3rlf5qIJ61BhFMKqjC2MPGvpTDf/fyDzWNx2wvE=; b=xGejo8wTUr7scoBs3PVNk/1VyhHRhu24Km8Sg4ZQeJqeSamtQQk/SIO1FfcvUkirl6BYoq LH3vB/yoYrOOiVXC7KmZlxE6XNpDKTjWUgmgxxM01m0h84ix63HgdNKKMPRvBGtJTFGpvr 20FP+0OCnJcObdtjfxxhCvZBFSEAJFTKSs+ZkFWzVMcLkzmfRW4oHyaGfUjTyoEehcOprD hR/HqkLubCd8TkXq6aDwF+bS0WSfvvoX3eypsipSKS4WiQemqcMky05f9ZgAofQBIHNve5 HWR+OWYf0v1xB0cdZq7zg0KpLCoEBCfO5NnJpxW7I3ohcCe8KYLkYfxQ8CvOWw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766445818; a=rsa-sha256; cv=none; b=WxPT+Xb2Kr+TtfYPLkl2nE8QYOk7NSTmW0BavR9azD8FFxKAuaUI3nWKkUq/vQQv6t0eBY 4hm3GFN22wgmYRWlDBQlYa08MQDRkRh3u/C0R0jOgnaSuhpMCMwimhA5YYcxsu/13OBG5H 31JPsNwxPcE1b+IOzFaU3KJhwn1UB70qzi43CDZcuQHoe032z+Vu0IVH0cNM+0YOJsEEQJ VH/QK6Bkf9klssnvSa88qSrXZ7V/FLb0hmL+YjpH2o9f1E2RQVveVqAGg0UM8N1Hl6sdSh qtQOds6T1sEOcQCbsEvN96HQ9W9G4jYBCJe49bY3tMAoeUWIz0mNpOZio0wxZg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dZvMt25CBzmrn for ; Mon, 22 Dec 2025 23:23:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 223f0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 22 Dec 2025 23:23:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: e35191ccf3b3 - main - nfs: Add some support for POSIX draft ACLs List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e35191ccf3b3bdf02905f7e11dc0dd4796593c07 Auto-Submitted: auto-generated Date: Mon, 22 Dec 2025 23:23:38 +0000 Message-Id: <6949d2fa.223f0.a61809e@gitrepo.freebsd.org> The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=e35191ccf3b3bdf02905f7e11dc0dd4796593c07 commit e35191ccf3b3bdf02905f7e11dc0dd4796593c07 Author: Rick Macklem AuthorDate: 2025-12-22 23:22:09 +0000 Commit: Rick Macklem CommitDate: 2025-12-22 23:22:09 +0000 nfs: Add some support for POSIX draft ACLs An internet draft (expected to become an RFC someday) https://datatracker.ietf.org/doc/draft-ietf-nfsv4-posix-acls describes an extension to NFSv4.2 to handle POSIX draft ACLs. This is the final patch in the series that enables the extension of NFSv4.2 to support POSIX draft ACLs. At this time, only UFS mounted with the "acls" option will work, and only for FreeBSD built with these patches. Patches for client and server for the Linux kernel are in the works. (I'll admit my next little project is cleaning the Linux patches up for submission for upstream.) To make these changes really useful, the FreeBSD port of OpenZFS needs to be patched to add POSIX draft ACL support. (Support for POSIX draft ACLs is already in the Linux port of OpenZFS.) Interopeability with NFSv4.2 clients and servers that do not support this extension should not be a problem. Fixes: a35bbd5d9f5f ("nfscommon: Add some support for POSIX draft ACLs") --- sys/fs/nfs/nfsproto.h | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/sys/fs/nfs/nfsproto.h b/sys/fs/nfs/nfsproto.h index 41150ef88188..6e67c5be3416 100644 --- a/sys/fs/nfs/nfsproto.h +++ b/sys/fs/nfs/nfsproto.h @@ -1208,7 +1208,11 @@ struct nfsv3_sattr { NFSATTRBM_SUPPATTREXCLCREAT | \ NFSATTRBM_CLONEBLKSIZE | \ NFSATTRBM_CHANGEATTRTYPE | \ - NFSATTRBM_XATTRSUPPORT) + NFSATTRBM_XATTRSUPPORT | \ + NFSATTRBM_ACLTRUEFORM | \ + NFSATTRBM_ACLTRUEFORMSCOPE | \ + NFSATTRBM_POSIXDEFAULTACL | \ + NFSATTRBM_POSIXACCESSACL) /* * These are the set only attributes. @@ -1238,7 +1242,9 @@ struct nfsv3_sattr { NFSATTRBM_TIMEMODIFYSET) #define NFSATTRBIT_SETABLE2 \ (NFSATTRBM_MODESETMASKED | \ - NFSATTRBM_MODEUMASK) + NFSATTRBM_MODEUMASK | \ + NFSATTRBM_POSIXDEFAULTACL | \ + NFSATTRBM_POSIXACCESSACL) /* * NFSATTRBIT_NFSV41 - Attributes only supported by NFSv4.1. @@ -1259,7 +1265,11 @@ struct nfsv3_sattr { (NFSATTRBM_CLONEBLKSIZE | \ NFSATTRBM_CHANGEATTRTYPE | \ NFSATTRBM_XATTRSUPPORT | \ - NFSATTRBM_MODEUMASK) + NFSATTRBM_MODEUMASK | \ + NFSATTRBM_ACLTRUEFORM | \ + NFSATTRBM_ACLTRUEFORMSCOPE | \ + NFSATTRBM_POSIXDEFAULTACL | \ + NFSATTRBM_POSIXACCESSACL) /* * Set of attributes that the getattr vnode op needs.