SUNRPC: Make the transport-specific setup routine allocate rpc_xprt
Change the location where the rpc_xprt structure is allocated so each transport implementation can allocate a private area from the same chunk of memory. Note also that xprt->ops->destroy, rather than xprt_destroy, is now responsible for freeing rpc_xprt when the transport is destroyed. Test plan: Connectathon. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
committed by
Trond Myklebust
parent
e744cf2e3a
commit
c8541ecdd5
@@ -265,8 +265,8 @@ void xprt_disconnect(struct rpc_xprt *xprt);
|
||||
/*
|
||||
* Socket transport setup operations
|
||||
*/
|
||||
int xs_setup_udp(struct rpc_xprt *xprt, struct rpc_timeout *to);
|
||||
int xs_setup_tcp(struct rpc_xprt *xprt, struct rpc_timeout *to);
|
||||
struct rpc_xprt * xs_setup_udp(struct sockaddr *addr, size_t addrlen, struct rpc_timeout *to);
|
||||
struct rpc_xprt * xs_setup_tcp(struct sockaddr *addr, size_t addrlen, struct rpc_timeout *to);
|
||||
|
||||
/*
|
||||
* Reserved bit positions in xprt->state
|
||||
|
Reference in New Issue
Block a user