From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B5785313276 for ; Tue, 17 Feb 2026 22:07:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771366046; cv=none; b=brVX5dxLS9FSe0cQG3IEJkhMVVfOX2lqyx/z17hR7K8ytOxp3Fc7oXuMa9vPdLmvA01BzWsez83m4CStjsCoTJEOum+x2I45bFBSRJf8boNrkmz6KpH1/1BI0ujHzeEneKddNcC2jOKjlcfAyf+6Jcs4+5LIYmG+fJnEbRI8UBw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771366046; c=relaxed/simple; bh=eMlcK0Jqf3u8gXsSPN0q/Y2ywQB2hmXqqOT0tKd+io0=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=umh2R0YN12PM0qQaAkgtsgHRZ6t/4Izr1erqryuQlpck/aFgmb1IeMPFr2jcgM56yx0xLe5s8VlklFOtLqTfY1UMpLdctoOXPdeCldMKOSFq1MsbxKDhI/y/P6h5cs+++72ikqRr4vh3MNmYSEuhRoMhG5a87q49WfPfnLm5K8g= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=rnfyfH6g; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="rnfyfH6g" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B990BC4CEF7; Tue, 17 Feb 2026 22:07:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1771366046; bh=eMlcK0Jqf3u8gXsSPN0q/Y2ywQB2hmXqqOT0tKd+io0=; h=From:To:Cc:Subject:Date:From; b=rnfyfH6gfLNEtLrixjPTZ68sVwA9GE37yqt3Z9b28ImWCBNiRd393cNWNzcihkQPw IFWEWgeF2fr77ZITY9aIjoY0i05weMp2JR5YSmJ6QKE5M2LZt1rG+DcILAiLNroSy9 JvvyteYH0WH82+QLlI3T9FQwJYCnesWQts1LDodGHKs01RLZ6pZWChiahydhYzH2N0 kHnA9TIeNGsCQoS407zROifEVXfKFauX9LFxtFbX/Cs79jsWYG11y3VZtwa4Eh/MgF wVT6v7aH4yceVLjb0EfOzdrlklZLT9aNrvBGoTnbvEvn3WGe9IdGmv+kD9OXFSGNN7 /mU7RvFNz3O2g== From: Chuck Lever To: NeilBrown , Jeff Layton , Olga Kornievskaia , Dai Ngo , Tom Talpey Cc: , Chuck Lever Subject: [PATCH v3 00/29] Convert lockd to use xdrgen for NLMv4 Date: Tue, 17 Feb 2026 17:06:52 -0500 Message-ID: <20260217220721.1928847-1-cel@kernel.org> X-Mailer: git-send-email 2.53.0 Precedence: bulk X-Mailing-List: linux-nfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Chuck Lever This series modernizes the NLMv4 XDR layer using XDR generated by the xdrgen tool. Based on the public nfsd-testing branch. --- Changes since v2: - Pre-requisite changes have been applied to nfsd-testing Chuck Lever (29): Documentation: Add the RPC language description of NLM version 4 lockd: Use xdrgen XDR functions for the NLMv4 NULL procedure lockd: Use xdrgen XDR functions for the NLMv4 TEST procedure lockd: Use xdrgen XDR functions for the NLMv4 LOCK procedure lockd: Use xdrgen XDR functions for the NLMv4 CANCEL procedure lockd: Use xdrgen XDR functions for the NLMv4 UNLOCK procedure lockd: Use xdrgen XDR functions for the NLMv4 GRANTED procedure lockd: Refactor nlm4svc_callback() lockd: Use xdrgen XDR functions for the NLMv4 TEST_MSG procedure lockd: Use xdrgen XDR functions for the NLMv4 LOCK_MSG procedure lockd: Use xdrgen XDR functions for the NLMv4 CANCEL_MSG procedure lockd: Use xdrgen XDR functions for the NLMv4 UNLOCK_MSG procedure lockd: Use xdrgen XDR functions for the NLMv4 GRANTED_MSG procedure lockd: Use xdrgen XDR functions for the NLMv4 TEST_RES procedure lockd: Use xdrgen XDR functions for the NLMv4 LOCK_RES procedure lockd: Use xdrgen XDR functions for the NLMv4 CANCEL_RES procedure lockd: Use xdrgen XDR functions for the NLMv4 UNLOCK_RES procedure lockd: Use xdrgen XDR functions for the NLMv4 GRANTED_RES procedure lockd: Use xdrgen XDR functions for the NLMv4 SM_NOTIFY procedure lockd: Convert server-side undefined procedures to xdrgen lockd: Hoist file_lock init out of nlm4svc_decode_shareargs() lockd: Prepare share helpers for xdrgen conversion lockd: Use xdrgen XDR functions for the NLMv4 SHARE procedure lockd: Use xdrgen XDR functions for the NLMv4 UNSHARE procedure lockd: Use xdrgen XDR functions for the NLMv4 NM_LOCK procedure lockd: Use xdrgen XDR functions for the NLMv4 FREE_ALL procedure lockd: Add LOCKD_SHARE_SVID constant for DOS sharing mode lockd: Remove C macros that are no longer used lockd: Remove dead code from fs/lockd/xdr4.c Documentation/sunrpc/xdr/nlm4.x | 211 ++++ fs/lockd/Makefile | 30 +- fs/lockd/clnt4xdr.c | 2 - fs/lockd/lockd.h | 7 + fs/lockd/nlm4xdr_gen.c | 724 ++++++++++++ fs/lockd/nlm4xdr_gen.h | 32 + fs/lockd/share.h | 11 +- fs/lockd/svc4proc.c | 1773 +++++++++++++++++++--------- fs/lockd/svcproc.c | 7 +- fs/lockd/svcshare.c | 35 +- fs/lockd/xdr.c | 3 +- fs/lockd/xdr4.c | 337 ------ fs/lockd/xdr4.h | 33 - include/linux/sunrpc/xdrgen/nlm4.h | 233 ++++ 14 files changed, 2474 insertions(+), 964 deletions(-) create mode 100644 Documentation/sunrpc/xdr/nlm4.x create mode 100644 fs/lockd/nlm4xdr_gen.c create mode 100644 fs/lockd/nlm4xdr_gen.h delete mode 100644 fs/lockd/xdr4.c delete mode 100644 fs/lockd/xdr4.h create mode 100644 include/linux/sunrpc/xdrgen/nlm4.h -- 2.53.0