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>
This commit is contained in:
Trond Myklebust 2016-08-29 20:03:49 -04:00 committed by Anna Schumaker
parent f4b52bb084
commit d002526886
2 changed files with 17 additions and 3 deletions

View File

@ -147,9 +147,6 @@ nfs41_callback_up(struct svc_serv *serv)
{ {
struct svc_rqst *rqstp; struct svc_rqst *rqstp;
INIT_LIST_HEAD(&serv->sv_cb_list);
spin_lock_init(&serv->sv_cb_lock);
init_waitqueue_head(&serv->sv_cb_waitq);
rqstp = svc_prepare_thread(serv, &serv->sv_pools[0], NUMA_NO_NODE); rqstp = svc_prepare_thread(serv, &serv->sv_pools[0], NUMA_NO_NODE);
dprintk("--> %s return %d\n", __func__, PTR_ERR_OR_ZERO(rqstp)); dprintk("--> %s return %d\n", __func__, PTR_ERR_OR_ZERO(rqstp));
return rqstp; return rqstp;

View File

@ -401,6 +401,21 @@ int svc_bind(struct svc_serv *serv, struct net *net)
} }
EXPORT_SYMBOL_GPL(svc_bind); 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 * Create an RPC service
*/ */
@ -443,6 +458,8 @@ __svc_create(struct svc_program *prog, unsigned int bufsize, int npools,
init_timer(&serv->sv_temptimer); init_timer(&serv->sv_temptimer);
spin_lock_init(&serv->sv_lock); spin_lock_init(&serv->sv_lock);
__svc_init_bc(serv);
serv->sv_nrpools = npools; serv->sv_nrpools = npools;
serv->sv_pools = serv->sv_pools =
kcalloc(serv->sv_nrpools, sizeof(struct svc_pool), kcalloc(serv->sv_nrpools, sizeof(struct svc_pool),