|
@@ -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),
|