From nobody Wed Mar 05 03:31:50 2025 X-Original-To: dev-commits-src-branches@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 4Z6ylV5GHNz5pQt1; Wed, 05 Mar 2025 03:31:50 +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 4Z6ylV1nxHz465N; Wed, 05 Mar 2025 03:31:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741145510; 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=0JMwm+hJFKKRbXQHfepuwAja5HiDgt3llg38CUKeuDk=; b=r0oyY8pOJCf3PsWw4KmiABhc7rHfYbsrGOVeyUEWHjCdGvzPxHL1htoit+ffOygiAzttyz dR8Clm4GDvRcVyijaazUR1YhDiBsjkTMJrFPSQDbWtQWpnoQ/ex9ljENl/LuNB3M37A4SA OPv+K5Pr3ncuO3Jn382vBrQqzjEKMyOhBnV5On3i0UpoVRRSkvayz0oaKXQFLH7ClhwMei a6rpDH6cqugJiWhPRJ70BZGHkDYjcghzkGvTCGghfykL9B2xvDQXHjCiZPGdw6peyKknYe haiJCXkg3hZXWcM93WtFXX16fX1M1AJCfEyjfxC+KnwZ1iMpPeV/3a3Dnyq0Tg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741145510; a=rsa-sha256; cv=none; b=Qpwfwh1nkz2Rcr5+a+kY2IeSsWdAgu7qY4RoaPG2ErNhvMZA8KWwJuWZHkjKnv/cFdR1Xk B6IyaSeTNURnRGqFbqNRwi1OeSHa7M9G2/83gtz7+hrc33wWIasHOSWXA5Gyv5bw3E4gSx DGeTiAmp0xeubAHsM5oBjrdu6sObB1Kn28n+DHxw8pq+FXMl1FhmCCL4GQpqby1tvyFE2T tJUrtBaUAs3BKpFYgT51JV/ggia6aa38BIvbCa6RKC299OBILE2XICDrGRf4JPjOvXf9QB b8NJHJLu29SJXQfOUP54gqg6djhYkhI0IlF1pvrK6NIDqosma+b1C0+vNnyXQw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741145510; 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=0JMwm+hJFKKRbXQHfepuwAja5HiDgt3llg38CUKeuDk=; b=fJGrUDhXEbh2Uzc/7XMOq0R6Lkp5hdOrQufldLRXrirhRPAhxBxpdVTJ47jHf26ws5y6bS AAAzi1bZSQShvMhV9oCuQXFFKqEUCGIUny+cK75LU5vHE3igmgNXlEcVQdltpRiHW9CtCP vTKOuGP8tSTmodgx6JuYld8jrCvbq+42w9/v+yE0mVim9iRCzE6WiufPnRRcqRqtA+36+J wRIgbfD5qlxhzIYN6CtlazOJ0mqqaDM9Reu5OUA5R/Lj6bBBai2K76iNcaY8IuX07FmSKF cBWYWMHcVXzyhnTyAxEm4rtYoeuTIxtu086lCRWJZABQwWfv5WMwmsp/l1EmsA== 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 4Z6ylV196LznbN; Wed, 05 Mar 2025 03:31:50 +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 5253VoSJ075340; Wed, 5 Mar 2025 03:31:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5253VoHI075337; Wed, 5 Mar 2025 03:31:50 GMT (envelope-from git) Date: Wed, 5 Mar 2025 03:31:50 GMT Message-Id: <202503050331.5253VoHI075337@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 057409d0259f - stable/14 - nfscl: Return appropriate reply status for NFSv4.1 callbacks List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 057409d0259f9b3f4ae46c1eccc1e9227502c2ec Auto-Submitted: auto-generated The branch stable/14 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=057409d0259f9b3f4ae46c1eccc1e9227502c2ec commit 057409d0259f9b3f4ae46c1eccc1e9227502c2ec Author: Rick Macklem AuthorDate: 2025-02-19 23:34:53 +0000 Commit: Rick Macklem CommitDate: 2025-03-05 03:30:00 +0000 nfscl: Return appropriate reply status for NFSv4.1 callbacks Certain NFSv4.1 callbacks are not currently supported/used by the FreeBSD client. Without this patch, NFS4ERR_NOTSUPP is replied for the callbacks. Since NFSv4.1 does not specify all of these callbacks as optional, I think it is preferable to reply NFS_OK or NFS4ERR_REJECT_DELEG instead of NFS4ERR_NOTSUPP. This patch changes the reply status for these unsupported callbacks, which the client has no use for. I am not aware of any NFSv4.1 servers that will perform any of these callbacks against the FreeBSD client at this time. (cherry picked from commit 56c8c19046c46cb9e89c2a3967f8cf2cd0ace428) --- sys/fs/nfsclient/nfs_clstate.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/sys/fs/nfsclient/nfs_clstate.c b/sys/fs/nfsclient/nfs_clstate.c index b00de78ef591..af8297b68c0e 100644 --- a/sys/fs/nfsclient/nfs_clstate.c +++ b/sys/fs/nfsclient/nfs_clstate.c @@ -3993,6 +3993,25 @@ nfscl_docb(struct nfsrv_descript *nd, NFSPROC_T *p) NFSUNLOCKCLSTATE(); } break; + case NFSV4OP_CBNOTIFY: + case NFSV4OP_CBRECALLOBJAVAIL: + case NFSV4OP_CBNOTIFYLOCK: + /* + * These callbacks are not necessarily optional, + * so I think it is better to reply NFS_OK than + * NFSERR_NOTSUPP. + * All provide information for which the FreeBSD client + * does not currently have a use. + * I am not sure if any of these could be generated + * by a NFSv4.1/4.2 server for this client? + */ + error = 0; + NFSCL_DEBUG(1, "unsupp callback %d\n", op); + break; + case NFSV4OP_CBPUSHDELEG: + error = NFSERR_REJECTDELEG; + NFSCL_DEBUG(1, "unsupp callback %d\n", op); + break; default: if (i == 0 && minorvers != NFSV4_MINORVERSION) error = NFSERR_OPNOTINSESS;