[PATCH 8/9] NFSD: Relocate nfsd4_set_netaddr()
Chuck Lever <[email protected]>
| Newsgroups | gmane.linux.nfs |
|---|---|
| Message-ID | <[email protected]> |
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. Signed-off-by: Chuck Lever <[email protected]> --- fs/nfsd/nfs4proc.c | 31 +++++++++++++++++++++++++++++++ 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 669896be08b6..59889cdca109 100644 --- a/fs/nfsd/nfs4proc.c +++ b/fs/nfsd/nfs4proc.c @@ -2313,6 +2313,37 @@ nfsd4_offload_cancel(struct svc_rqst *rqstp, return nfs_ok; } +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]) || -- 2.54.0