aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Adamson <andros@netapp.com>2009-04-01 09:23:10 -0400
committerBenny Halevy <bhalevy@panasas.com>2009-06-17 17:11:31 -0400
commit9c9f3f5fa62cc4959e4d4d1cf1ec74f2d6ac1197 (patch)
treea8fb954b9e707b4afdd822e503fc4857f4d88d5d
parent7652e5a09ba319241607b22d9055ce93fd5b8039 (diff)
nfs41: sunrpc: add a struct svc_xprt pointer to struct svc_serv for backchannel use
This svc_xprt is passed on to the callback service thread to be later used to processes incoming svc_rqst's Signed-off-by: Benny Halevy <bhalevy@panasas.com>
-rw-r--r--include/linux/sunrpc/svc.h1
-rw-r--r--net/sunrpc/svc.c4
2 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/sunrpc/svc.h b/include/linux/sunrpc/svc.h
index 16043c4a8bf4..ea8009695c69 100644
--- a/include/linux/sunrpc/svc.h
+++ b/include/linux/sunrpc/svc.h
@@ -103,6 +103,7 @@ struct svc_serv {
103 spinlock_t sv_cb_lock; /* protects the svc_cb_list */ 103 spinlock_t sv_cb_lock; /* protects the svc_cb_list */
104 wait_queue_head_t sv_cb_waitq; /* sleep here if there are no 104 wait_queue_head_t sv_cb_waitq; /* sleep here if there are no
105 * entries in the svc_cb_list */ 105 * entries in the svc_cb_list */
106 struct svc_xprt *bc_xprt;
106#endif /* CONFIG_NFS_V4_1 */ 107#endif /* CONFIG_NFS_V4_1 */
107}; 108};
108 109
diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c
index 06b52e465f47..b35048fabe22 100644
--- a/net/sunrpc/svc.c
+++ b/net/sunrpc/svc.c
@@ -487,6 +487,10 @@ svc_destroy(struct svc_serv *serv)
487 if (svc_serv_is_pooled(serv)) 487 if (svc_serv_is_pooled(serv))
488 svc_pool_map_put(); 488 svc_pool_map_put();
489 489
490#if defined(CONFIG_NFS_V4_1)
491 svc_sock_destroy(serv->bc_xprt);
492#endif /* CONFIG_NFS_V4_1 */
493
490 svc_unregister(serv); 494 svc_unregister(serv);
491 kfree(serv->sv_pools); 495 kfree(serv->sv_pools);
492 kfree(serv); 496 kfree(serv);