Lines Matching refs:serv
34 struct svc_serv *serv; member
41 static int nfs4_callback_up_net(struct svc_serv *serv, struct net *net) in nfs4_callback_up_net() argument
47 ret = svc_xprt_create(serv, "tcp", net, PF_INET, in nfs4_callback_up_net()
56 ret = svc_xprt_create(serv, "tcp", net, PF_INET6, in nfs4_callback_up_net()
107 struct svc_serv *serv = rqstp->rq_server; in nfs41_callback_svc() local
119 prepare_to_wait(&serv->sv_cb_waitq, &wq, TASK_INTERRUPTIBLE); in nfs41_callback_svc()
120 spin_lock_bh(&serv->sv_cb_lock); in nfs41_callback_svc()
121 if (!list_empty(&serv->sv_cb_list)) { in nfs41_callback_svc()
122 req = list_first_entry(&serv->sv_cb_list, in nfs41_callback_svc()
125 spin_unlock_bh(&serv->sv_cb_lock); in nfs41_callback_svc()
126 finish_wait(&serv->sv_cb_waitq, &wq); in nfs41_callback_svc()
128 error = bc_svc_process(serv, req, rqstp); in nfs41_callback_svc()
132 spin_unlock_bh(&serv->sv_cb_lock); in nfs41_callback_svc()
135 finish_wait(&serv->sv_cb_waitq, &wq); in nfs41_callback_svc()
144 struct svc_serv *serv) in nfs_callback_bc_serv() argument
151 xprt->bc_serv = serv; in nfs_callback_bc_serv()
155 struct svc_serv *serv) in nfs_callback_bc_serv() argument
161 struct svc_serv *serv) in nfs_callback_start_svc() argument
166 nfs_callback_bc_serv(minorversion, xprt, serv); in nfs_callback_start_svc()
171 if (serv->sv_nrthreads == nrservs) in nfs_callback_start_svc()
174 ret = svc_set_num_threads(serv, NULL, nrservs); in nfs_callback_start_svc()
176 svc_set_num_threads(serv, NULL, 0); in nfs_callback_start_svc()
183 static void nfs_callback_down_net(u32 minorversion, struct svc_serv *serv, struct net *net) in nfs_callback_down_net() argument
191 svc_xprt_destroy_all(serv, net); in nfs_callback_down_net()
194 static int nfs_callback_up_net(int minorversion, struct svc_serv *serv, in nfs_callback_up_net() argument
205 ret = svc_bind(serv, net); in nfs_callback_up_net()
213 ret = nfs4_callback_up_net(serv, net); in nfs_callback_up_net()
215 set_bc_enabled(serv); in nfs_callback_up_net()
226 svc_rpcb_cleanup(serv, net); in nfs_callback_up_net()
238 struct svc_serv *serv; in nfs_callback_create_svc() local
243 if (cb_info->serv) in nfs_callback_create_svc()
244 return svc_get(cb_info->serv); in nfs_callback_create_svc()
262 serv = svc_create(&nfs4_callback_program, NFS4_CALLBACK_BUFSIZE, in nfs_callback_create_svc()
264 if (!serv) { in nfs_callback_create_svc()
268 cb_info->serv = serv; in nfs_callback_create_svc()
272 serv->sv_maxconn = 1024; in nfs_callback_create_svc()
274 return serv; in nfs_callback_create_svc()
282 struct svc_serv *serv; in nfs_callback_up() local
289 serv = nfs_callback_create_svc(minorversion); in nfs_callback_up()
290 if (IS_ERR(serv)) { in nfs_callback_up()
291 ret = PTR_ERR(serv); in nfs_callback_up()
295 ret = nfs_callback_up_net(minorversion, serv, net, xprt); in nfs_callback_up()
299 ret = nfs_callback_start_svc(minorversion, xprt, serv); in nfs_callback_up()
306 cb_info->serv = NULL; in nfs_callback_up()
307 svc_put(serv); in nfs_callback_up()
313 nfs_callback_down_net(minorversion, serv, net); in nfs_callback_up()
324 struct svc_serv *serv; in nfs_callback_down() local
327 serv = cb_info->serv; in nfs_callback_down()
328 nfs_callback_down_net(minorversion, serv, net); in nfs_callback_down()
331 svc_get(serv); in nfs_callback_down()
332 svc_set_num_threads(serv, NULL, 0); in nfs_callback_down()
333 svc_put(serv); in nfs_callback_down()
335 cb_info->serv = NULL; in nfs_callback_down()