From nobody Sat Jul 5 23:36:20 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 4bZRj06w2Jz61B1t; Sat, 05 Jul 2025 23:36:20 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bZRj05yzzz41bs; Sat, 05 Jul 2025 23:36:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1751758580; 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=YNxRHV0V/vFU4OlC3vgZACaRGbgQnRNzs8y/z88MSfs=; b=i3EEV0+kWD3BC21h0rCX2jPw5lyd8EZmDmCwN47ew8xayIbhXKVW62En2whwdbC2JG/gam DFoPJCh3oRhLWEDvcJy6YjKvwUd7b5wgGbsw0pNo6Zn4/4sjFjP1YPQEYx8eF7sCWjKIoJ mLyDi3b6QpbSeZK2dMGcJ3pYcG5SwMlMumipGHI032n4ESPkBCVXr9CkQwG3X+P+UT8GeJ FkmJcaiWwAKMrCH7cIxujF0QRDDkC+IjuMOWVEzMa8AQsW7FdVhVnB8R5YeHHQxm9pHhON 9vVB+75NaHpLRh9L0mOANEyHd6bjcU7jkq6o2zt3zAQMDyq5DUZEhK09lWQV8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1751758580; 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=YNxRHV0V/vFU4OlC3vgZACaRGbgQnRNzs8y/z88MSfs=; b=EcVgecEmdzBZS1BNhg5GaKTOIXQS1h+Dwrw7lR7woEiAMQ1Bmz7NNus0Ghjvif+csdfkWR 0ZEWIw3VJaMTziVBSJ93sY7YYWmCIt9OjpAXqUDkHC68vMmCITh67gzVi9ATwYQmKYch+7 sSHaUgjqI2Dr/LEsn68bnvstJAS0dZ0VRE7NGYoLP3rfm8BwUfMltvWg4yGG/2TCow2cq5 UqXLpxFYS4LlR3F6JFQEyeJ3rk4JkWt9yvoEJ57GAkCZ869GsuZ5347D2c5eNNNToA+cci uS4oo66v8d1fmQOrqyrpkyVzFIickYDKM8cDPGL6y1XNnVc2nERDil+JmrmMzw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1751758580; a=rsa-sha256; cv=none; b=Ogl1uKuZTxVmr96HJz0Nk89R7UE3CQV45qTE42Q0SokZO3n0oy1jpMhXU539aaywRxEdYO bXvsNYhjiVNBXXTZwCfzSoQmiFTPm5EP+84ylXU5xoPBjWVy80X69IVHQaBrc8A06ZppEp 2EIjOQJghC765WYeecapn8owgmBoICY1YYatC7d276k9JGDv+1J4bHB57mxQnzCaf4ZhAd F2dPv9ZJoBYBsw6T/fxt2YPMaAqFN1nfSIoGmEOp/numZ141qYmJUu5WZsfUKxJQaRegro TyVRTudKs7n6VC+hwvpjV80NtN+hbxQo7lhuHxZKnW2pfBzZkP3YxdFGw9u4Jw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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 did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bZRj05HlrzwyG; Sat, 05 Jul 2025 23:36:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 565NaKtm061579; Sat, 5 Jul 2025 23:36:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 565NaKKS061576; Sat, 5 Jul 2025 23:36:20 GMT (envelope-from git) Date: Sat, 5 Jul 2025 23:36:20 GMT Message-Id: <202507052336.565NaKKS061576@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: afd5bc630930 - main - pathconf: Add a new variable for hidden/system 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: afd5bc6309306da48b87d5557ab526b1d4a61bb6 Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=afd5bc6309306da48b87d5557ab526b1d4a61bb6 commit afd5bc6309306da48b87d5557ab526b1d4a61bb6 Author: Rick Macklem AuthorDate: 2025-07-05 23:33:16 +0000 Commit: Rick Macklem CommitDate: 2025-07-05 23:33:16 +0000 pathconf: Add a new variable for hidden/system For the NFSv4 server to implement the "hidden" and "system" attributes, it needs to know if UF_HIDDEN, UF_SYSTEM are supported for the file. This patch adds a new pathconf variable called _PC_HAS_HIDDENSYSTEM to do that. The ZFS patch will be handled separately as a OpenZFS pull request. Although this pathconf variable may be queried by applications using pathconf(2), the current interface where chflags(2) returns EOPNOTSUPP may still be used to check if the flags are set. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D51172 --- sys/fs/msdosfs/msdosfs_vnops.c | 3 +++ sys/fs/smbfs/smbfs_vnops.c | 3 +++ sys/fs/tmpfs/tmpfs_vnops.c | 4 ++++ sys/kern/vfs_default.c | 1 + sys/sys/unistd.h | 1 + sys/ufs/ufs/ufs_vnops.c | 3 +++ 6 files changed, 15 insertions(+) diff --git a/sys/fs/msdosfs/msdosfs_vnops.c b/sys/fs/msdosfs/msdosfs_vnops.c index 120b97ba72d5..5db61c8951f6 100644 --- a/sys/fs/msdosfs/msdosfs_vnops.c +++ b/sys/fs/msdosfs/msdosfs_vnops.c @@ -1942,6 +1942,9 @@ msdosfs_pathconf(struct vop_pathconf_args *ap) case _PC_NO_TRUNC: *ap->a_retval = 0; return (0); + case _PC_HAS_HIDDENSYSTEM: + *ap->a_retval = 1; + return (0); default: return (vop_stdpathconf(ap)); } diff --git a/sys/fs/smbfs/smbfs_vnops.c b/sys/fs/smbfs/smbfs_vnops.c index c30995508c00..5d412cabadb8 100644 --- a/sys/fs/smbfs/smbfs_vnops.c +++ b/sys/fs/smbfs/smbfs_vnops.c @@ -810,6 +810,9 @@ smbfs_pathconf(struct vop_pathconf_args *ap) case _PC_NO_TRUNC: *retval = 1; break; + case _PC_HAS_HIDDENSYSTEM: + *retval = 1; + break; default: error = vop_stdpathconf(ap); } diff --git a/sys/fs/tmpfs/tmpfs_vnops.c b/sys/fs/tmpfs/tmpfs_vnops.c index c99d0732be50..9d2a587b177a 100644 --- a/sys/fs/tmpfs/tmpfs_vnops.c +++ b/sys/fs/tmpfs/tmpfs_vnops.c @@ -1691,6 +1691,10 @@ tmpfs_pathconf(struct vop_pathconf_args *v) *retval = PAGE_SIZE; break; + case _PC_HAS_HIDDENSYSTEM: + *retval = 1; + break; + default: error = vop_stdpathconf(v); } diff --git a/sys/kern/vfs_default.c b/sys/kern/vfs_default.c index 2a01ec1e307e..fd6202a1424c 100644 --- a/sys/kern/vfs_default.c +++ b/sys/kern/vfs_default.c @@ -456,6 +456,7 @@ vop_stdpathconf(struct vop_pathconf_args *ap) case _PC_MAC_PRESENT: case _PC_NAMEDATTR_ENABLED: case _PC_HAS_NAMEDATTR: + case _PC_HAS_HIDDENSYSTEM: *ap->a_retval = 0; return (0); default: diff --git a/sys/sys/unistd.h b/sys/sys/unistd.h index f5caea2e3919..c12343e5d0fd 100644 --- a/sys/sys/unistd.h +++ b/sys/sys/unistd.h @@ -156,6 +156,7 @@ #define _PC_DEALLOC_PRESENT 65 #define _PC_NAMEDATTR_ENABLED 66 #define _PC_HAS_NAMEDATTR 67 +#define _PC_HAS_HIDDENSYSTEM 68 #endif /* From OpenSolaris, used by SEEK_DATA/SEEK_HOLE. */ diff --git a/sys/ufs/ufs/ufs_vnops.c b/sys/ufs/ufs/ufs_vnops.c index 74cb094bdfe4..53fac4b0665e 100644 --- a/sys/ufs/ufs/ufs_vnops.c +++ b/sys/ufs/ufs/ufs_vnops.c @@ -2720,6 +2720,9 @@ ufs_pathconf( case _PC_SYMLINK_MAX: *ap->a_retval = MAXPATHLEN; break; + case _PC_HAS_HIDDENSYSTEM: + *ap->a_retval = 1; + break; default: error = vop_stdpathconf(ap);