Lines Matching refs:serv
33 struct svc_serv *serv; member
42 static int nfs4_callback_up_net(struct svc_serv *serv, struct net *net) in nfs4_callback_up_net() argument
47 ret = svc_create_xprt(serv, "tcp", net, PF_INET, in nfs4_callback_up_net()
55 ret = svc_create_xprt(serv, "tcp", net, PF_INET6, in nfs4_callback_up_net()
96 nfs4_callback_up(struct svc_serv *serv) in nfs4_callback_up() argument
98 return svc_prepare_thread(serv, &serv->sv_pools[0], NUMA_NO_NODE); in nfs4_callback_up()
102 static int nfs41_callback_up_net(struct svc_serv *serv, struct net *net) in nfs41_callback_up_net() argument
109 return svc_create_xprt(serv, "tcp-bc", net, PF_INET, 0, in nfs41_callback_up_net()
120 struct svc_serv *serv = rqstp->rq_server; in nfs41_callback_svc() local
131 prepare_to_wait(&serv->sv_cb_waitq, &wq, TASK_INTERRUPTIBLE); in nfs41_callback_svc()
132 spin_lock_bh(&serv->sv_cb_lock); in nfs41_callback_svc()
133 if (!list_empty(&serv->sv_cb_list)) { in nfs41_callback_svc()
134 req = list_first_entry(&serv->sv_cb_list, in nfs41_callback_svc()
137 spin_unlock_bh(&serv->sv_cb_lock); in nfs41_callback_svc()
138 finish_wait(&serv->sv_cb_waitq, &wq); in nfs41_callback_svc()
140 error = bc_svc_process(serv, req, rqstp); in nfs41_callback_svc()
144 spin_unlock_bh(&serv->sv_cb_lock); in nfs41_callback_svc()
146 finish_wait(&serv->sv_cb_waitq, &wq); in nfs41_callback_svc()
157 nfs41_callback_up(struct svc_serv *serv) in nfs41_callback_up() argument
161 INIT_LIST_HEAD(&serv->sv_cb_list); in nfs41_callback_up()
162 spin_lock_init(&serv->sv_cb_lock); in nfs41_callback_up()
163 init_waitqueue_head(&serv->sv_cb_waitq); in nfs41_callback_up()
164 rqstp = svc_prepare_thread(serv, &serv->sv_pools[0], NUMA_NO_NODE); in nfs41_callback_up()
166 svc_xprt_put(serv->sv_bc_xprt); in nfs41_callback_up()
167 serv->sv_bc_xprt = NULL; in nfs41_callback_up()
173 static void nfs_minorversion_callback_svc_setup(struct svc_serv *serv, in nfs_minorversion_callback_svc_setup() argument
176 *rqstpp = nfs41_callback_up(serv); in nfs_minorversion_callback_svc_setup()
181 struct svc_serv *serv) in nfs_callback_bc_serv() argument
188 xprt->bc_serv = serv; in nfs_callback_bc_serv()
191 static int nfs41_callback_up_net(struct svc_serv *serv, struct net *net) in nfs41_callback_up_net() argument
196 static void nfs_minorversion_callback_svc_setup(struct svc_serv *serv, in nfs_minorversion_callback_svc_setup() argument
204 struct svc_serv *serv) in nfs_callback_bc_serv() argument
210 struct svc_serv *serv) in nfs_callback_start_svc() argument
217 nfs_callback_bc_serv(minorversion, xprt, serv); in nfs_callback_start_svc()
225 rqstp = nfs4_callback_up(serv); in nfs_callback_start_svc()
229 nfs_minorversion_callback_svc_setup(serv, in nfs_callback_start_svc()
236 svc_sock_update_bufs(serv); in nfs_callback_start_svc()
238 cb_info->serv = serv; in nfs_callback_start_svc()
255 static void nfs_callback_down_net(u32 minorversion, struct svc_serv *serv, struct net *net) in nfs_callback_down_net() argument
263 svc_shutdown_net(serv, net); in nfs_callback_down_net()
266 static int nfs_callback_up_net(int minorversion, struct svc_serv *serv, struct net *net) in nfs_callback_up_net() argument
276 ret = svc_bind(serv, net); in nfs_callback_up_net()
284 ret = nfs4_callback_up_net(serv, net); in nfs_callback_up_net()
288 ret = nfs41_callback_up_net(serv, net); in nfs_callback_up_net()
304 svc_rpcb_cleanup(serv, net); in nfs_callback_up_net()
314 struct svc_serv *serv; in nfs_callback_create_svc() local
324 svc_get(cb_info->serv); in nfs_callback_create_svc()
325 return cb_info->serv; in nfs_callback_create_svc()
336 serv = svc_create(&nfs4_callback_program, NFS4_CALLBACK_BUFSIZE, NULL); in nfs_callback_create_svc()
337 if (!serv) { in nfs_callback_create_svc()
344 serv->sv_maxconn = 1024; in nfs_callback_create_svc()
346 return serv; in nfs_callback_create_svc()
354 struct svc_serv *serv; in nfs_callback_up() local
361 serv = nfs_callback_create_svc(minorversion); in nfs_callback_up()
362 if (IS_ERR(serv)) { in nfs_callback_up()
363 ret = PTR_ERR(serv); in nfs_callback_up()
367 ret = nfs_callback_up_net(minorversion, serv, net); in nfs_callback_up()
371 ret = nfs_callback_start_svc(minorversion, xprt, serv); in nfs_callback_up()
383 svc_destroy(serv); in nfs_callback_up()
389 nfs_callback_down_net(minorversion, serv, net); in nfs_callback_up()
402 nfs_callback_down_net(minorversion, cb_info->serv, net); in nfs_callback_down()
409 cb_info->serv = NULL; in nfs_callback_down()