From nobody Sun Sep 06 20:42:50 2026 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 4hdMbG2lDvz6rgTQ for ; Sun, 06 Sep 2026 20:42: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 "YR2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hdMbG1QMdz3w5J for ; Sun, 06 Sep 2026 20:42:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1788727370; 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=JBLCi3Y6NhyqDdJ+uiMB3NlRgtckavuG4FS6k4zqVOA=; b=sV8JzXN4JcJDgXIiYevmHDrBrIWiKAwFSCqFdYx+ZPPDJ/37mKmsWgH74nG/9Y1YBsJywj DxyurMt0c2xY0fiZko7qHRsveFf2Ha615JYt5UlaAgf8iGUuqj0Hq3YSTwq8NkKyf0enTy bzQOBFwLaaR4oLTLsj6VcHOZlkz2eY0hbKaAFpm6+xvRnScBH4yY/tGYLId/ZSWkg7FQjn gFFQR7kEi9td4QRkObqUlGOCDIET+PCKngyOBcXCJY+x88PuCrd7rcIP4DDpB3if5MhN/6 wikJKWkE0ZpUQO7IqAk6gKm44UTu8wHo5kjs7X3TqaVMk4vG0RbJak4gZOxc/w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1788727370; a=rsa-sha256; cv=none; b=o6ONLqMv1x+lR7bz4V0id6YnLaqGZemj0Eco8V2T0LnU5pnDPQswi26V8JT9CMEiGF+Kzb XHgrsS5qaR8nrRJWhd2myARL41xFJt7s/lZJz43JLqS5nxkQkww4XaLeRy4w+zu0F/ux/0 4tnL2uEp4cbNnNvsKiO3VzZCUJSJELUOInub5zjTWRfqhMAjxPbbxpo4wJp7i38FLq8MY1 ETM4tma2EudinN5ueObCccKNVipkCLw7HXhwLG8YpXJ12SjgCJtkeJ2p+tx6IPHnPnAbhd zWkUkOiNkH8LEQPq9ADF4yZQmL8lx0POzAypcmpj77IU8h81GxUQ2Ls0S+HQbg== 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=1788727370; 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=JBLCi3Y6NhyqDdJ+uiMB3NlRgtckavuG4FS6k4zqVOA=; b=uKN+NkLwlIgjWRlZH6gN+c2bmR712wkkkWQG4X8wmgw5QdH4TXOn4l3LawIBuP3/sdCQST XCuoVZCR+SvXD0zyxPHkx3ArjqWA7XXVj2ZXG3KTC6eEZ6wR+s3B6mC79lOm1FGfz5p5Ui XZS0FFLudqz/LWjRrWINbU+1GVVbRI0mG7bLt064XREPes4RAoQeszd9GjxHsHQmsF9dNx 8JOGVc/GxTuLnjBuWWqH/rJaeZQ2rKKWCmi28IvlNurHOV8UeEBMDizlzbbbUME9hRvYIs 2SaP/eJj/U0XnhTYc6oo/djm7kx+kf4CtRN3N6QcgBhsTrNNauRmNaC5wIahaQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hdMbG0KvTznmX for ; Sun, 06 Sep 2026 20:42:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 420e8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 06 Sep 2026 20:42:50 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: 407d7177057d - main - nfsd: Clean up the "glue" for the nfsrdma.ko module 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 List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list 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: 407d7177057d152f18b31773eaade93311113505 Auto-Submitted: auto-generated Date: Sun, 06 Sep 2026 20:42:50 +0000 Message-Id: <6a9dd04a.420e8.dc7ccd2@gitrepo.freebsd.org> The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=407d7177057d152f18b31773eaade93311113505 commit 407d7177057d152f18b31773eaade93311113505 Author: Rick Macklem AuthorDate: 2026-09-06 20:40:34 +0000 Commit: Rick Macklem CommitDate: 2026-09-06 20:40:34 +0000 nfsd: Clean up the "glue" for the nfsrdma.ko module Move svc_reg() calls into a helper function so that the nfsrdma.ko can call that. Create a new nfs_extern.h as a place to put the nfs stuff that server side NFS over RDMA needs to access, with a prototype for the helper function and a couple of definitions that probably shouldn't be in svc.h. No semantics change. MFC after: 3 months Fixes: 7144a1d58c5c ("nfsd: Add glue for the nfsrdma.ko module") --- sys/fs/nfsserver/nfs_nfsdkrpc.c | 28 +++++++++++++++++----------- sys/fs/nfsserver/nfs_nfsdport.c | 2 +- sys/rpc/svc.h | 2 -- 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/sys/fs/nfsserver/nfs_nfsdkrpc.c b/sys/fs/nfsserver/nfs_nfsdkrpc.c index 20b76d6152cd..d96a8c354276 100644 --- a/sys/fs/nfsserver/nfs_nfsdkrpc.c +++ b/sys/fs/nfsserver/nfs_nfsdkrpc.c @@ -39,6 +39,7 @@ #include "opt_kern_tls.h" #include +#include #include #include @@ -105,7 +106,6 @@ static int nfs_proc(struct nfsrv_descript *, u_int32_t, SVCXPRT *xprt, struct nfsrvcache **); extern u_long sb_max_adj; -extern int newnfs_numnfsd; extern time_t nfsdev_time; extern int nfsrv_writerpc[NFS_NPROCS]; extern volatile int nfsrv_devidcnt; @@ -554,6 +554,21 @@ nfssvc_loss(SVCXPRT *xprt) CURVNET_RESTORE(); } +/* + * Register xprt with the correct versions of NFS. + */ +void +nfsrv_svc_reg(SVCXPRT *xprt) +{ + + if (VNET(nfs_minvers) == NFS_VER2) + svc_reg(xprt, NFS_PROG, NFS_VER2, nfssvc_program, NULL); + if (VNET(nfs_minvers) <= NFS_VER3 && VNET(nfs_maxvers) >= NFS_VER3) + svc_reg(xprt, NFS_PROG, NFS_VER3, nfssvc_program, NULL); + if (VNET(nfs_maxvers) >= NFS_VER4) + svc_reg(xprt, NFS_PROG, NFS_VER4, nfssvc_program, NULL); +} + /* * Adds a socket to the list for servicing by nfsds. */ @@ -585,16 +600,7 @@ nfsrvd_addsock(struct file *fp) fp->f_ops = &badfileops; fp->f_data = NULL; xprt->xp_sockref = ++sockref; - if (VNET(nfs_minvers) == NFS_VER2) - svc_reg(xprt, NFS_PROG, NFS_VER2, nfssvc_program, - NULL); - if (VNET(nfs_minvers) <= NFS_VER3 && - VNET(nfs_maxvers) >= NFS_VER3) - svc_reg(xprt, NFS_PROG, NFS_VER3, nfssvc_program, - NULL); - if (VNET(nfs_maxvers) >= NFS_VER4) - svc_reg(xprt, NFS_PROG, NFS_VER4, nfssvc_program, - NULL); + nfsrv_svc_reg(xprt); if (so->so_type == SOCK_STREAM) svc_loss_reg(xprt, nfssvc_loss); SVC_RELEASE(xprt); diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c index cfc0cea2195e..6d7f93c123f0 100644 --- a/sys/fs/nfsserver/nfs_nfsdport.c +++ b/sys/fs/nfsserver/nfs_nfsdport.c @@ -43,6 +43,7 @@ */ #include +#include #include #include #include @@ -59,7 +60,6 @@ FEATURE(nfsd, "NFSv4 server"); extern u_int32_t newnfs_true, newnfs_false, newnfs_xdrneg1; extern int nfsrv_useacl; -extern int newnfs_numnfsd; extern int nfsrv_sessionhashsize; extern struct nfslayouthash *nfslayouthash; extern int nfsrv_layouthashsize; diff --git a/sys/rpc/svc.h b/sys/rpc/svc.h index a7cbb639f48e..537dad0fdb65 100644 --- a/sys/rpc/svc.h +++ b/sys/rpc/svc.h @@ -350,8 +350,6 @@ typedef struct __rpc_svcpool { */ typedef int svc_rdma_listen_ftype(SVCPOOL *pool, int port); extern svc_rdma_listen_ftype *svc_rdma_listen; -extern int nfsrvd_rdma_port; -extern int newnfs_numnfsd; /* * Operations defined on an SVCXPRT handle