diff options
author | Pavel Emelyanov <xemul@parallels.com> | 2010-09-29 08:03:13 -0400 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2010-10-01 17:18:53 -0400 |
commit | e204e621b4160c802315bc2d0fa335337c0d62e8 (patch) | |
tree | f61889925880484b71ce8b5dbef9a95c3a3b4acb /net/sunrpc | |
parent | bd1722d4316e42a12fe6337ebe34d7e1e2c088b2 (diff) |
sunrpc: Factor out rpc_xprt freeing
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'net/sunrpc')
-rw-r--r-- | net/sunrpc/xprt.c | 7 | ||||
-rw-r--r-- | net/sunrpc/xprtrdma/transport.c | 7 | ||||
-rw-r--r-- | net/sunrpc/xprtsock.c | 12 |
3 files changed, 13 insertions, 13 deletions
diff --git a/net/sunrpc/xprt.c b/net/sunrpc/xprt.c index 26cbe219388b..0637340e5342 100644 --- a/net/sunrpc/xprt.c +++ b/net/sunrpc/xprt.c | |||
@@ -984,6 +984,13 @@ out: | |||
984 | } | 984 | } |
985 | EXPORT_SYMBOL_GPL(xprt_alloc); | 985 | EXPORT_SYMBOL_GPL(xprt_alloc); |
986 | 986 | ||
987 | void xprt_free(struct rpc_xprt *xprt) | ||
988 | { | ||
989 | kfree(xprt->slot); | ||
990 | kfree(xprt); | ||
991 | } | ||
992 | EXPORT_SYMBOL_GPL(xprt_free); | ||
993 | |||
987 | /** | 994 | /** |
988 | * xprt_reserve - allocate an RPC request slot | 995 | * xprt_reserve - allocate an RPC request slot |
989 | * @task: RPC task requesting a slot allocation | 996 | * @task: RPC task requesting a slot allocation |
diff --git a/net/sunrpc/xprtrdma/transport.c b/net/sunrpc/xprtrdma/transport.c index 9d77bf25829f..0f7a1b9d05ad 100644 --- a/net/sunrpc/xprtrdma/transport.c +++ b/net/sunrpc/xprtrdma/transport.c | |||
@@ -251,9 +251,7 @@ xprt_rdma_destroy(struct rpc_xprt *xprt) | |||
251 | 251 | ||
252 | xprt_rdma_free_addresses(xprt); | 252 | xprt_rdma_free_addresses(xprt); |
253 | 253 | ||
254 | kfree(xprt->slot); | 254 | xprt_free(xprt); |
255 | xprt->slot = NULL; | ||
256 | kfree(xprt); | ||
257 | 255 | ||
258 | dprintk("RPC: %s: returning\n", __func__); | 256 | dprintk("RPC: %s: returning\n", __func__); |
259 | 257 | ||
@@ -401,8 +399,7 @@ out3: | |||
401 | out2: | 399 | out2: |
402 | rpcrdma_ia_close(&new_xprt->rx_ia); | 400 | rpcrdma_ia_close(&new_xprt->rx_ia); |
403 | out1: | 401 | out1: |
404 | kfree(xprt->slot); | 402 | xprt_free(xprt); |
405 | kfree(xprt); | ||
406 | return ERR_PTR(rc); | 403 | return ERR_PTR(rc); |
407 | } | 404 | } |
408 | 405 | ||
diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c index a7a763821b88..b1e36ec6fd80 100644 --- a/net/sunrpc/xprtsock.c +++ b/net/sunrpc/xprtsock.c | |||
@@ -774,8 +774,7 @@ static void xs_destroy(struct rpc_xprt *xprt) | |||
774 | 774 | ||
775 | xs_close(xprt); | 775 | xs_close(xprt); |
776 | xs_free_peer_addresses(xprt); | 776 | xs_free_peer_addresses(xprt); |
777 | kfree(xprt->slot); | 777 | xprt_free(xprt); |
778 | kfree(xprt); | ||
779 | module_put(THIS_MODULE); | 778 | module_put(THIS_MODULE); |
780 | } | 779 | } |
781 | 780 | ||
@@ -2362,8 +2361,7 @@ static struct rpc_xprt *xs_setup_udp(struct xprt_create *args) | |||
2362 | return xprt; | 2361 | return xprt; |
2363 | ret = ERR_PTR(-EINVAL); | 2362 | ret = ERR_PTR(-EINVAL); |
2364 | out_err: | 2363 | out_err: |
2365 | kfree(xprt->slot); | 2364 | xprt_free(xprt); |
2366 | kfree(xprt); | ||
2367 | return ret; | 2365 | return ret; |
2368 | } | 2366 | } |
2369 | 2367 | ||
@@ -2438,8 +2436,7 @@ static struct rpc_xprt *xs_setup_tcp(struct xprt_create *args) | |||
2438 | return xprt; | 2436 | return xprt; |
2439 | ret = ERR_PTR(-EINVAL); | 2437 | ret = ERR_PTR(-EINVAL); |
2440 | out_err: | 2438 | out_err: |
2441 | kfree(xprt->slot); | 2439 | xprt_free(xprt); |
2442 | kfree(xprt); | ||
2443 | return ret; | 2440 | return ret; |
2444 | } | 2441 | } |
2445 | 2442 | ||
@@ -2519,8 +2516,7 @@ static struct rpc_xprt *xs_setup_bc_tcp(struct xprt_create *args) | |||
2519 | return xprt; | 2516 | return xprt; |
2520 | ret = ERR_PTR(-EINVAL); | 2517 | ret = ERR_PTR(-EINVAL); |
2521 | out_err: | 2518 | out_err: |
2522 | kfree(xprt->slot); | 2519 | xprt_free(xprt); |
2523 | kfree(xprt); | ||
2524 | return ret; | 2520 | return ret; |
2525 | } | 2521 | } |
2526 | 2522 | ||