From nobody Wed Feb 19 23:35:56 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 4Yyt7J54fsz5nrk3; Wed, 19 Feb 2025 23:35:56 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yyt7J4S9Kz3dBT; Wed, 19 Feb 2025 23:35:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1740008156; 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=zj5cxgdE06p/P3VtMmifSLB2ZtDZcF8+v4TpQYTqJys=; b=evy5qsvRO0V3SbLUDeNppR+B7S3AJZcdFp1vZDVjABfVl5ZHTGSD46TTasVOMhZuYuXJ77 WSZq5Q11weJDdtmUT/UBnaLvzyfbOWw2d8tdCAsOkb5xSktH83QcBD1ntAGCRy8RopbACX yYiKWz6bR9q9XvzZelvtKj9G7RdFVMmqzG/E8t5xLKBqlP2TG+Vp3Zapw/vImzgY6M7j0w RU8KVC0cHEZ/FwsGS5HZMnmqb0+3kV5z4cf7p1CLP582OCjYib9Ebo6HWq7k9zzqi8+A8m xKksfL2OPuTuxsMk3nBz/m305GkBLlc4m5kKSn3nvYl9ZS46h3r+9Pov52SLxQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1740008156; a=rsa-sha256; cv=none; b=WpBbZC5kq5KZxrCjEdIRM5uWArJLxlqmjz4wddinZsVEFstrF6nHoJB7CdgTzQeKse3+G+ R2yR3TZMzynqhMx70ZemkIRKf0AbmSqcv8wOpsqvV2yf9yjiD0oFg2NTaEAV0taGHQ8L1P HKtvWtpoe/LCmCif6tiMMm9DJeD44LmYhytv3daN7nqOWl4cMLKG1FUA400cn5zS4lol/m fKPexLSzlvIRc0yHUz2jvv9ZJsnXibbc/2QbPHd/EBZWquRubFoK2d7l9TJD7ob50IMnP+ 4pDlyLUopNNQxPB/yTk9hWc9p5tSe+zhl4dFzLgNtDmbIaxZ7LNUvMSRzjOAew== 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=1740008156; 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=zj5cxgdE06p/P3VtMmifSLB2ZtDZcF8+v4TpQYTqJys=; b=Vo7YH/+XOuFEe8eDeEZ15FAPTKeth3W+Wvs3spvz2tKkMPXligZ0vP+5kMmyf55KRhIAJw h/EvEpDE0hbfMpewMAQHXi61FZV8rdjOjV9P56bqd+AAox4cilCDNSZLhN7WkFXqoQr3pF AkWyQ5V3OjLaQX+85SgI0uyrFaQakpWyMsdramO8Ojoio4EETqwydjjpOfm9e44gFBsjZq I+PL4z2XOof/wHPsFtf5GUoy5DGNq67zPVvZHbXzV5Z7yH1Bh4GYhOyYirUwwywwIwKR/R rjjF3wZqLVRn0/kFhO4WX9lNiTAEtChc+38eBmvwjhQI1cYrTDiDgLYQVUgqbQ== 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 4Yyt7J3w9czBF6; Wed, 19 Feb 2025 23:35:56 +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 51JNZuHN090047; Wed, 19 Feb 2025 23:35:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51JNZurv090044; Wed, 19 Feb 2025 23:35:56 GMT (envelope-from git) Date: Wed, 19 Feb 2025 23:35:56 GMT Message-Id: <202502192335.51JNZurv090044@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: 56c8c19046c4 - main - nfscl: Return appropriate reply status for NFSv4.1 callbacks 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: 56c8c19046c46cb9e89c2a3967f8cf2cd0ace428 Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=56c8c19046c46cb9e89c2a3967f8cf2cd0ace428 commit 56c8c19046c46cb9e89c2a3967f8cf2cd0ace428 Author: Rick Macklem AuthorDate: 2025-02-19 23:34:53 +0000 Commit: Rick Macklem CommitDate: 2025-02-19 23:34:53 +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. MFC after: 2 weeks --- 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 16d201d65b34..7d1aab753628 100644 --- a/sys/fs/nfsclient/nfs_clstate.c +++ b/sys/fs/nfsclient/nfs_clstate.c @@ -3989,6 +3989,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;