diff options
author | Trond Myklebust <trond.myklebust@primarydata.com> | 2016-08-29 20:03:49 -0400 |
---|---|---|
committer | Anna Schumaker <Anna.Schumaker@Netapp.com> | 2016-09-19 13:08:36 -0400 |
commit | d00252688604edfd07d0e11a05d3a2b7cf05bb3d (patch) | |
tree | e82c632ecdf5023ddfe161361ba6e15fed30cb1e /net | |
parent | f4b52bb0842642a781a23dd36ae364253e03fdb4 (diff) | |
download | op-kernel-dev-d00252688604edfd07d0e11a05d3a2b7cf05bb3d.zip op-kernel-dev-d00252688604edfd07d0e11a05d3a2b7cf05bb3d.tar.gz |
SUNRPC: Initialise struct svc_serv backchannel fields during __svc_create()
Clean up.
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/sunrpc/svc.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c index c5b0cb4..7c8070e 100644 --- a/net/sunrpc/svc.c +++ b/net/sunrpc/svc.c @@ -401,6 +401,21 @@ int svc_bind(struct svc_serv *serv, struct net *net) } EXPORT_SYMBOL_GPL(svc_bind); +#if defined(CONFIG_SUNRPC_BACKCHANNEL) +static void +__svc_init_bc(struct svc_serv *serv) +{ + INIT_LIST_HEAD(&serv->sv_cb_list); + spin_lock_init(&serv->sv_cb_lock); + init_waitqueue_head(&serv->sv_cb_waitq); +} +#else +static void +__svc_init_bc(struct svc_serv *serv) +{ +} +#endif + /* * Create an RPC service */ @@ -443,6 +458,8 @@ __svc_create(struct svc_program *prog, unsigned int bufsize, int npools, init_timer(&serv->sv_temptimer); spin_lock_init(&serv->sv_lock); + __svc_init_bc(serv); + serv->sv_nrpools = npools; serv->sv_pools = kcalloc(serv->sv_nrpools, sizeof(struct svc_pool), |