diff options
author | Andy Adamson <andros@netapp.com> | 2009-04-01 09:23:10 -0400 |
---|---|---|
committer | Benny Halevy <bhalevy@panasas.com> | 2009-06-17 17:11:31 -0400 |
commit | 9c9f3f5fa62cc4959e4d4d1cf1ec74f2d6ac1197 (patch) | |
tree | a8fb954b9e707b4afdd822e503fc4857f4d88d5d | |
parent | 7652e5a09ba319241607b22d9055ce93fd5b8039 (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.h | 1 | ||||
-rw-r--r-- | net/sunrpc/svc.c | 4 |
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); |