lockd: Make linux/lockd/nlm.h an internal header

The NLM protocol constants and status codes in nlm.h are needed
only by lockd's internal implementation. NFS client code and
NFSD interact with lockd through the stable API in bind.h and
have no direct use for protocol-level definitions.

Exposing these definitions globally via bind.h creates unnecessary
coupling between lockd internals and its consumers. Moving nlm.h
from include/linux/lockd/ to fs/lockd/ clarifies the API boundary:
bind.h provides the lockd service interface, while nlm.h remains
available only to code within fs/lockd/ that implements the
protocol.

Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
This commit is contained in:
Chuck Lever
2026-01-28 10:19:33 -05:00
parent 615384a24b
commit 5829352e56
4 changed files with 4 additions and 8 deletions

View File

@@ -14,6 +14,7 @@
#include <linux/kref.h>
#include <linux/refcount.h>
#include <linux/utsname.h>
#include "nlm.h"
#include <linux/lockd/bind.h>
#include "xdr.h"
#include <linux/sunrpc/debug.h>

View File

@@ -1,14 +1,12 @@
/* SPDX-License-Identifier: GPL-2.0 */
/*
* linux/include/linux/lockd/nlm.h
*
* Declarations for the Network Lock Manager protocol.
*
* Copyright (C) 1996, Olaf Kirch <okir@monad.swb.de>
*/
#ifndef LINUX_LOCKD_NLM_H
#define LINUX_LOCKD_NLM_H
#ifndef _LOCKD_NLM_H
#define _LOCKD_NLM_H
/* Maximum file offset in file_lock.fl_end */
@@ -55,4 +53,4 @@ enum {
#define NLMPROC_NM_LOCK 22
#define NLMPROC_FREE_ALL 23
#endif /* LINUX_LOCKD_NLM_H */
#endif /* _LOCKD_NLM_H */

View File

@@ -28,7 +28,6 @@
#include <linux/sched.h>
#include <linux/sunrpc/clnt.h>
#include <linux/sunrpc/svc_xprt.h>
#include <linux/lockd/nlm.h>
#include "lockd.h"

View File

@@ -10,8 +10,6 @@
#ifndef LINUX_LOCKD_BIND_H
#define LINUX_LOCKD_BIND_H
#include <linux/lockd/nlm.h>
struct file_lock;
struct nfs_fh;
struct svc_rqst;