diff options
| author | Chuck Lever <cel@kernel.org> | 2026-07-12 16:45:53 -0400 |
|---|---|---|
| committer | Chuck Lever <cel@kernel.org> | 2026-08-10 09:54:35 -0400 |
| commit | 4efe4f67eaeb9c4e06470acf75ed39d9816fa3cc (patch) | |
| tree | 73f1df9bca1c8cd920d880c4198b92141a09fce4 | |
| parent | 65608a57ae32bbc145e6edf9478c67e2758f3e4f (diff) | |
NFSD: Relocate nfsd4_set_netaddr()
Clean up: Common practice in the Linux kernel is to avoid the use of
static inline functions when there is only a single call site. The
30-line helper function is removed from a header pulled into ~25 .c
files, removing <linux/sunrpc/addr.h> from that header's transitive
include surface, dropping a now-redundant <linux/sunrpc/msg_prot.h>
include, and reducing the function's visibility to the one translation
unit that uses it.
Link: https://patch.msgid.link/20260712204554.125308-9-cel@kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <cel@kernel.org>
| -rw-r--r-- | fs/nfsd/nfs4proc.c | 31 | ||||
| -rw-r--r-- | fs/nfsd/nfsd.h | 33 |
2 files changed, 31 insertions, 33 deletions
diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c index 935408252ace..977096e70158 100644 --- a/fs/nfsd/nfs4proc.c +++ b/fs/nfsd/nfs4proc.c @@ -2366,6 +2366,37 @@ nfsd4_offload_cancel(struct svc_rqst *rqstp, } static __be32 +nfsd4_set_netaddr(struct sockaddr *addr, struct nfs42_netaddr *netaddr) +{ + struct sockaddr_in *sin = (struct sockaddr_in *)addr; + struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)addr; + unsigned int port; + size_t ret_addr, ret_port; + + switch (addr->sa_family) { + case AF_INET: + port = ntohs(sin->sin_port); + sprintf(netaddr->netid, "tcp"); + netaddr->netid_len = 3; + break; + case AF_INET6: + port = ntohs(sin6->sin6_port); + sprintf(netaddr->netid, "tcp6"); + netaddr->netid_len = 4; + break; + default: + return nfserr_inval; + } + ret_addr = rpc_ntop(addr, netaddr->addr, sizeof(netaddr->addr)); + ret_port = snprintf(netaddr->addr + ret_addr, + RPCBIND_MAXUADDRLEN + 1 - ret_addr, + ".%u.%u", port >> 8, port & 0xff); + WARN_ON(ret_port >= RPCBIND_MAXUADDRLEN + 1 - ret_addr); + netaddr->addr_len = ret_addr + ret_port; + return 0; +} + +static __be32 nfsd4_copy_notify(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, union nfsd4_op_u *u) { diff --git a/fs/nfsd/nfsd.h b/fs/nfsd/nfsd.h index 81312b11b5c2..33015657b16f 100644 --- a/fs/nfsd/nfsd.h +++ b/fs/nfsd/nfsd.h @@ -18,8 +18,6 @@ #include <linux/nfs4.h> #include <linux/sunrpc/svc.h> #include <linux/sunrpc/svc_xprt.h> -#include <linux/sunrpc/msg_prot.h> -#include <linux/sunrpc/addr.h> #include <uapi/linux/nfsd/debug.h> @@ -450,37 +448,6 @@ enum { extern const u32 nfsd_suppattrs[3][3]; -static inline __be32 nfsd4_set_netaddr(struct sockaddr *addr, - struct nfs42_netaddr *netaddr) -{ - struct sockaddr_in *sin = (struct sockaddr_in *)addr; - struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)addr; - unsigned int port; - size_t ret_addr, ret_port; - - switch (addr->sa_family) { - case AF_INET: - port = ntohs(sin->sin_port); - sprintf(netaddr->netid, "tcp"); - netaddr->netid_len = 3; - break; - case AF_INET6: - port = ntohs(sin6->sin6_port); - sprintf(netaddr->netid, "tcp6"); - netaddr->netid_len = 4; - break; - default: - return nfserr_inval; - } - ret_addr = rpc_ntop(addr, netaddr->addr, sizeof(netaddr->addr)); - ret_port = snprintf(netaddr->addr + ret_addr, - RPCBIND_MAXUADDRLEN + 1 - ret_addr, - ".%u.%u", port >> 8, port & 0xff); - WARN_ON(ret_port >= RPCBIND_MAXUADDRLEN + 1 - ret_addr); - netaddr->addr_len = ret_addr + ret_port; - return 0; -} - static inline bool bmval_is_subset(const u32 *bm1, const u32 *bm2) { return !((bm1[0] & ~bm2[0]) || |
