/linux-4.1.27/fs/nfs/ |
H A D | callback.c | 33 struct svc_serv *serv; member in struct:nfs_callback_data 42 static int nfs4_callback_up_net(struct svc_serv *serv, struct net *net) nfs4_callback_up_net() argument 47 ret = svc_create_xprt(serv, "tcp", net, PF_INET, nfs4_callback_up_net() 55 ret = svc_create_xprt(serv, "tcp", net, PF_INET6, nfs4_callback_up_net() 96 nfs4_callback_up(struct svc_serv *serv) nfs4_callback_up() argument 98 return svc_prepare_thread(serv, &serv->sv_pools[0], NUMA_NO_NODE); nfs4_callback_up() 102 static int nfs41_callback_up_net(struct svc_serv *serv, struct net *net) nfs41_callback_up_net() argument 109 return svc_create_xprt(serv, "tcp-bc", net, PF_INET, 0, nfs41_callback_up_net() 120 struct svc_serv *serv = rqstp->rq_server; nfs41_callback_svc() local 131 prepare_to_wait(&serv->sv_cb_waitq, &wq, TASK_INTERRUPTIBLE); nfs41_callback_svc() 132 spin_lock_bh(&serv->sv_cb_lock); nfs41_callback_svc() 133 if (!list_empty(&serv->sv_cb_list)) { nfs41_callback_svc() 134 req = list_first_entry(&serv->sv_cb_list, nfs41_callback_svc() 137 spin_unlock_bh(&serv->sv_cb_lock); nfs41_callback_svc() 138 finish_wait(&serv->sv_cb_waitq, &wq); nfs41_callback_svc() 140 error = bc_svc_process(serv, req, rqstp); nfs41_callback_svc() 144 spin_unlock_bh(&serv->sv_cb_lock); nfs41_callback_svc() 146 finish_wait(&serv->sv_cb_waitq, &wq); nfs41_callback_svc() 157 nfs41_callback_up(struct svc_serv *serv) nfs41_callback_up() argument 161 INIT_LIST_HEAD(&serv->sv_cb_list); nfs41_callback_up() 162 spin_lock_init(&serv->sv_cb_lock); nfs41_callback_up() 163 init_waitqueue_head(&serv->sv_cb_waitq); nfs41_callback_up() 164 rqstp = svc_prepare_thread(serv, &serv->sv_pools[0], NUMA_NO_NODE); nfs41_callback_up() 166 svc_xprt_put(serv->sv_bc_xprt); nfs41_callback_up() 167 serv->sv_bc_xprt = NULL; nfs41_callback_up() 173 static void nfs_minorversion_callback_svc_setup(struct svc_serv *serv, nfs_minorversion_callback_svc_setup() argument 176 *rqstpp = nfs41_callback_up(serv); nfs_minorversion_callback_svc_setup() 181 struct svc_serv *serv) nfs_callback_bc_serv() 188 xprt->bc_serv = serv; nfs_callback_bc_serv() 191 static int nfs41_callback_up_net(struct svc_serv *serv, struct net *net) nfs41_callback_up_net() argument 196 static void nfs_minorversion_callback_svc_setup(struct svc_serv *serv, nfs_minorversion_callback_svc_setup() argument 204 struct svc_serv *serv) nfs_callback_bc_serv() 210 struct svc_serv *serv) nfs_callback_start_svc() 217 nfs_callback_bc_serv(minorversion, xprt, serv); nfs_callback_start_svc() 225 rqstp = nfs4_callback_up(serv); nfs_callback_start_svc() 229 nfs_minorversion_callback_svc_setup(serv, nfs_callback_start_svc() 236 svc_sock_update_bufs(serv); nfs_callback_start_svc() 238 cb_info->serv = serv; nfs_callback_start_svc() 255 static void nfs_callback_down_net(u32 minorversion, struct svc_serv *serv, struct net *net) nfs_callback_down_net() argument 263 svc_shutdown_net(serv, net); nfs_callback_down_net() 266 static int nfs_callback_up_net(int minorversion, struct svc_serv *serv, struct net *net) nfs_callback_up_net() argument 276 ret = svc_bind(serv, net); nfs_callback_up_net() 284 ret = nfs4_callback_up_net(serv, net); nfs_callback_up_net() 288 ret = nfs41_callback_up_net(serv, net); nfs_callback_up_net() 304 svc_rpcb_cleanup(serv, net); nfs_callback_up_net() 314 struct svc_serv *serv; nfs_callback_create_svc() local 324 svc_get(cb_info->serv); nfs_callback_create_svc() 325 return cb_info->serv; nfs_callback_create_svc() 336 serv = svc_create(&nfs4_callback_program, NFS4_CALLBACK_BUFSIZE, NULL); nfs_callback_create_svc() 337 if (!serv) { nfs_callback_create_svc() 344 serv->sv_maxconn = 1024; nfs_callback_create_svc() 346 return serv; nfs_callback_create_svc() 354 struct svc_serv *serv; nfs_callback_up() local 361 serv = nfs_callback_create_svc(minorversion); nfs_callback_up() 362 if (IS_ERR(serv)) { nfs_callback_up() 363 ret = PTR_ERR(serv); nfs_callback_up() 367 ret = nfs_callback_up_net(minorversion, serv, net); nfs_callback_up() 371 ret = nfs_callback_start_svc(minorversion, xprt, serv); nfs_callback_up() 383 svc_destroy(serv); nfs_callback_up() 389 nfs_callback_down_net(minorversion, serv, net); nfs_callback_up() 402 nfs_callback_down_net(minorversion, cb_info->serv, net); nfs_callback_down() 409 cb_info->serv = NULL; nfs_callback_down() 180 nfs_callback_bc_serv(u32 minorversion, struct rpc_xprt *xprt, struct svc_serv *serv) nfs_callback_bc_serv() argument 203 nfs_callback_bc_serv(u32 minorversion, struct rpc_xprt *xprt, struct svc_serv *serv) nfs_callback_bc_serv() argument 209 nfs_callback_start_svc(int minorversion, struct rpc_xprt *xprt, struct svc_serv *serv) nfs_callback_start_svc() argument
|
/linux-4.1.27/net/sunrpc/ |
H A D | svc.c | 35 static void svc_unregister(const struct svc_serv *serv, struct net *net); 37 #define svc_serv_is_pooled(serv) ((serv)->sv_function) 352 svc_pool_for_cpu(struct svc_serv *serv, int cpu) svc_pool_for_cpu() argument 362 if (svc_serv_is_pooled(serv)) { svc_pool_for_cpu() 372 return &serv->sv_pools[pidx % serv->sv_nrpools]; svc_pool_for_cpu() 375 int svc_rpcb_setup(struct svc_serv *serv, struct net *net) svc_rpcb_setup() argument 384 svc_unregister(serv, net); svc_rpcb_setup() 389 void svc_rpcb_cleanup(struct svc_serv *serv, struct net *net) svc_rpcb_cleanup() argument 391 svc_unregister(serv, net); svc_rpcb_cleanup() 396 static int svc_uses_rpcbind(struct svc_serv *serv) svc_uses_rpcbind() argument 401 for (progp = serv->sv_program; progp; progp = progp->pg_next) { svc_uses_rpcbind() 413 int svc_bind(struct svc_serv *serv, struct net *net) svc_bind() argument 415 if (!svc_uses_rpcbind(serv)) svc_bind() 417 return svc_rpcb_setup(serv, net); svc_bind() 426 void (*shutdown)(struct svc_serv *serv, struct net *net)) __svc_create() 428 struct svc_serv *serv; __svc_create() local 433 if (!(serv = kzalloc(sizeof(*serv), GFP_KERNEL))) __svc_create() 435 serv->sv_name = prog->pg_name; __svc_create() 436 serv->sv_program = prog; __svc_create() 437 serv->sv_nrthreads = 1; __svc_create() 438 serv->sv_stats = prog->pg_stats; __svc_create() 441 serv->sv_max_payload = bufsize? bufsize : 4096; __svc_create() 442 serv->sv_max_mesg = roundup(serv->sv_max_payload + PAGE_SIZE, PAGE_SIZE); __svc_create() 443 serv->sv_shutdown = shutdown; __svc_create() 457 serv->sv_xdrsize = xdrsize; __svc_create() 458 INIT_LIST_HEAD(&serv->sv_tempsocks); __svc_create() 459 INIT_LIST_HEAD(&serv->sv_permsocks); __svc_create() 460 init_timer(&serv->sv_temptimer); __svc_create() 461 spin_lock_init(&serv->sv_lock); __svc_create() 463 serv->sv_nrpools = npools; __svc_create() 464 serv->sv_pools = __svc_create() 465 kcalloc(serv->sv_nrpools, sizeof(struct svc_pool), __svc_create() 467 if (!serv->sv_pools) { __svc_create() 468 kfree(serv); __svc_create() 472 for (i = 0; i < serv->sv_nrpools; i++) { __svc_create() 473 struct svc_pool *pool = &serv->sv_pools[i]; __svc_create() 476 i, serv->sv_name); __svc_create() 484 return serv; __svc_create() 489 void (*shutdown)(struct svc_serv *serv, struct net *net)) svc_create() 497 void (*shutdown)(struct svc_serv *serv, struct net *net), svc_create_pooled() 500 struct svc_serv *serv; svc_create_pooled() local 503 serv = __svc_create(prog, bufsize, npools, shutdown); svc_create_pooled() 504 if (!serv) svc_create_pooled() 507 serv->sv_function = func; svc_create_pooled() 508 serv->sv_module = mod; svc_create_pooled() 509 return serv; svc_create_pooled() 516 void svc_shutdown_net(struct svc_serv *serv, struct net *net) svc_shutdown_net() argument 518 svc_close_net(serv, net); svc_shutdown_net() 520 if (serv->sv_shutdown) svc_shutdown_net() 521 serv->sv_shutdown(serv, net); svc_shutdown_net() 530 svc_destroy(struct svc_serv *serv) svc_destroy() argument 533 serv->sv_program->pg_name, svc_destroy() 534 serv->sv_nrthreads); svc_destroy() 536 if (serv->sv_nrthreads) { svc_destroy() 537 if (--(serv->sv_nrthreads) != 0) { svc_destroy() 538 svc_sock_update_bufs(serv); svc_destroy() 542 printk("svc_destroy: no threads for serv=%p!\n", serv); svc_destroy() 544 del_timer_sync(&serv->sv_temptimer); svc_destroy() 550 BUG_ON(!list_empty(&serv->sv_permsocks)); svc_destroy() 551 BUG_ON(!list_empty(&serv->sv_tempsocks)); svc_destroy() 553 cache_clean_deferred(serv); svc_destroy() 555 if (svc_serv_is_pooled(serv)) svc_destroy() 558 kfree(serv->sv_pools); svc_destroy() 559 kfree(serv); svc_destroy() 607 svc_prepare_thread(struct svc_serv *serv, struct svc_pool *pool, int node) svc_prepare_thread() argument 615 serv->sv_nrthreads++; svc_prepare_thread() 618 rqstp->rq_server = serv; svc_prepare_thread() 625 rqstp->rq_argp = kmalloc_node(serv->sv_xdrsize, GFP_KERNEL, node); svc_prepare_thread() 629 rqstp->rq_resp = kmalloc_node(serv->sv_xdrsize, GFP_KERNEL, node); svc_prepare_thread() 633 if (!svc_init_buffer(rqstp, serv->sv_max_mesg, node)) svc_prepare_thread() 648 choose_pool(struct svc_serv *serv, struct svc_pool *pool, unsigned int *state) choose_pool() argument 653 return &serv->sv_pools[(*state)++ % serv->sv_nrpools]; choose_pool() 660 choose_victim(struct svc_serv *serv, struct svc_pool *pool, unsigned int *state) choose_victim() argument 669 for (i = 0; i < serv->sv_nrpools; i++) { choose_victim() 670 pool = &serv->sv_pools[--(*state) % serv->sv_nrpools]; choose_victim() 705 * rqstp->rq_task, which only the nfs ones do. Assumes the serv 712 svc_set_num_threads(struct svc_serv *serv, struct svc_pool *pool, int nrservs) svc_set_num_threads() argument 718 unsigned int state = serv->sv_nrthreads-1; svc_set_num_threads() 723 nrservs -= (serv->sv_nrthreads-1); svc_set_num_threads() 733 chosen_pool = choose_pool(serv, pool, &state); svc_set_num_threads() 736 rqstp = svc_prepare_thread(serv, chosen_pool, node); svc_set_num_threads() 742 __module_get(serv->sv_module); svc_set_num_threads() 743 task = kthread_create_on_node(serv->sv_function, rqstp, svc_set_num_threads() 744 node, "%s", serv->sv_name); svc_set_num_threads() 747 module_put(serv->sv_module); svc_set_num_threads() 753 if (serv->sv_nrpools > 1) svc_set_num_threads() 756 svc_sock_update_bufs(serv); svc_set_num_threads() 761 (task = choose_victim(serv, pool, &state)) != NULL) { svc_set_num_threads() 777 struct svc_serv *serv = rqstp->rq_server; svc_exit_thread() local 794 if (serv) svc_exit_thread() 795 svc_destroy(serv); svc_exit_thread() 926 * @serv: svc_serv struct for the service to register 934 int svc_register(const struct svc_serv *serv, struct net *net, svc_register() argument 947 for (progp = serv->sv_program; progp; progp = progp->pg_next) { svc_register() 1018 static void svc_unregister(const struct svc_serv *serv, struct net *net) svc_unregister() argument 1026 for (progp = serv->sv_program; progp; progp = progp->pg_next) { svc_unregister() 1077 struct svc_serv *serv = rqstp->rq_server; svc_process_common() local 1118 for (progp = serv->sv_program; progp; progp = progp->pg_next) svc_process_common() 1165 serv->sv_stats->rpccnt++; svc_process_common() 1203 /* serv->sv_stats->rpcsystemerr++; */ svc_process_common() 1244 serv->sv_stats->rpcbadfmt++; svc_process_common() 1253 serv->sv_stats->rpcbadauth++; svc_process_common() 1263 serv->sv_stats->rpcbadfmt++; svc_process_common() 1271 serv->sv_stats->rpcbadfmt++; svc_process_common() 1280 serv->sv_stats->rpcbadfmt++; svc_process_common() 1289 serv->sv_stats->rpcbadfmt++; svc_process_common() 1303 struct svc_serv *serv = rqstp->rq_server; svc_process() local 1325 serv->sv_stats->rpcbadfmt++; svc_process() 1348 bc_svc_process(struct svc_serv *serv, struct rpc_rqst *req, bc_svc_process() argument 1355 rqstp->rq_xprt = serv->sv_bc_xprt; bc_svc_process() 1358 rqstp->rq_server = serv; bc_svc_process() 425 __svc_create(struct svc_program *prog, unsigned int bufsize, int npools, void (*shutdown)(struct svc_serv *serv, struct net *net)) __svc_create() argument 488 svc_create(struct svc_program *prog, unsigned int bufsize, void (*shutdown)(struct svc_serv *serv, struct net *net)) svc_create() argument 496 svc_create_pooled(struct svc_program *prog, unsigned int bufsize, void (*shutdown)(struct svc_serv *serv, struct net *net), svc_thread_fn func, struct module *mod) svc_create_pooled() argument
|
H A D | svc_xprt.c | 153 struct svc_xprt *xprt, struct svc_serv *serv) svc_xprt_init() 159 xprt->xpt_server = serv; svc_xprt_init() 173 struct svc_serv *serv, __svc_xpo_create() 209 return xcl->xcl_ops->xpo_create(serv, net, sap, len, flags); __svc_xpo_create() 237 void svc_add_new_perm_xprt(struct svc_serv *serv, struct svc_xprt *new) svc_add_new_perm_xprt() argument 240 spin_lock_bh(&serv->sv_lock); svc_add_new_perm_xprt() 241 list_add(&new->xpt_list, &serv->sv_permsocks); svc_add_new_perm_xprt() 242 spin_unlock_bh(&serv->sv_lock); svc_add_new_perm_xprt() 246 int svc_create_xprt(struct svc_serv *serv, const char *xprt_name, svc_create_xprt() argument 265 newxprt = __svc_xpo_create(xcl, serv, net, family, port, flags); svc_create_xprt() 270 svc_add_new_perm_xprt(serv, newxprt); svc_create_xprt() 508 void svc_wake_up(struct svc_serv *serv) svc_wake_up() argument 513 pool = &serv->sv_pools[0]; svc_wake_up() 567 static void svc_check_conn_limits(struct svc_serv *serv) svc_check_conn_limits() argument 569 unsigned int limit = serv->sv_maxconn ? serv->sv_maxconn : svc_check_conn_limits() 570 (serv->sv_nrthreads+3) * 20; svc_check_conn_limits() 572 if (serv->sv_tmpcnt > limit) { svc_check_conn_limits() 574 spin_lock_bh(&serv->sv_lock); svc_check_conn_limits() 575 if (!list_empty(&serv->sv_tempsocks)) { svc_check_conn_limits() 578 serv->sv_name, serv->sv_maxconn ? svc_check_conn_limits() 585 xprt = list_entry(serv->sv_tempsocks.prev, svc_check_conn_limits() 591 spin_unlock_bh(&serv->sv_lock); svc_check_conn_limits() 602 struct svc_serv *serv = rqstp->rq_server; svc_alloc_arg() local 608 pages = (serv->sv_max_mesg + PAGE_SIZE) / PAGE_SIZE; svc_alloc_arg() 724 static void svc_add_new_temp_xprt(struct svc_serv *serv, struct svc_xprt *newxpt) svc_add_new_temp_xprt() argument 726 spin_lock_bh(&serv->sv_lock); svc_add_new_temp_xprt() 728 list_add(&newxpt->xpt_list, &serv->sv_tempsocks); svc_add_new_temp_xprt() 729 serv->sv_tmpcnt++; svc_add_new_temp_xprt() 730 if (serv->sv_temptimer.function == NULL) { svc_add_new_temp_xprt() 732 setup_timer(&serv->sv_temptimer, svc_age_temp_xprts, svc_add_new_temp_xprt() 733 (unsigned long)serv); svc_add_new_temp_xprt() 734 mod_timer(&serv->sv_temptimer, svc_add_new_temp_xprt() 737 spin_unlock_bh(&serv->sv_lock); svc_add_new_temp_xprt() 743 struct svc_serv *serv = rqstp->rq_server; svc_handle_xprt() local 762 svc_add_new_temp_xprt(serv, newxpt); svc_handle_xprt() 776 rqstp->rq_reserved = serv->sv_max_mesg; svc_handle_xprt() 794 struct svc_serv *serv = rqstp->rq_server; svc_recv() local 837 if (serv->sv_stats) svc_recv() 838 serv->sv_stats->netcnt++; svc_recv() 906 struct svc_serv *serv = (struct svc_serv *)closure; svc_age_temp_xprts() local 912 if (!spin_trylock_bh(&serv->sv_lock)) { svc_age_temp_xprts() 915 mod_timer(&serv->sv_temptimer, jiffies + HZ); svc_age_temp_xprts() 919 list_for_each_safe(le, next, &serv->sv_tempsocks) { svc_age_temp_xprts() 936 spin_unlock_bh(&serv->sv_lock); svc_age_temp_xprts() 938 mod_timer(&serv->sv_temptimer, jiffies + svc_conn_age_period * HZ); svc_age_temp_xprts() 959 struct svc_serv *serv = xprt->xpt_server; svc_delete_xprt() local 969 spin_lock_bh(&serv->sv_lock); svc_delete_xprt() 973 serv->sv_tmpcnt--; svc_delete_xprt() 974 spin_unlock_bh(&serv->sv_lock); svc_delete_xprt() 999 static int svc_close_list(struct svc_serv *serv, struct list_head *xprt_list, struct net *net) svc_close_list() argument 1004 spin_lock(&serv->sv_lock); list_for_each_entry() 1012 spin_unlock(&serv->sv_lock); 1016 static struct svc_xprt *svc_dequeue_net(struct svc_serv *serv, struct net *net) svc_dequeue_net() argument 1023 for (i = 0; i < serv->sv_nrpools; i++) { svc_dequeue_net() 1024 pool = &serv->sv_pools[i]; svc_dequeue_net() 1039 static void svc_clean_up_xprts(struct svc_serv *serv, struct net *net) svc_clean_up_xprts() argument 1043 while ((xprt = svc_dequeue_net(serv, net))) { svc_clean_up_xprts() 1061 void svc_close_net(struct svc_serv *serv, struct net *net) svc_close_net() argument 1065 while (svc_close_list(serv, &serv->sv_permsocks, net) + svc_close_net() 1066 svc_close_list(serv, &serv->sv_tempsocks, net)) { svc_close_net() 1068 svc_clean_up_xprts(serv, net); svc_close_net() 1194 * @serv: pointer to svc_serv to search 1208 struct svc_xprt *svc_find_xprt(struct svc_serv *serv, const char *xcl_name, svc_find_xprt() argument 1216 if (serv == NULL || xcl_name == NULL) svc_find_xprt() 1219 spin_lock_bh(&serv->sv_lock); svc_find_xprt() 1220 list_for_each_entry(xprt, &serv->sv_permsocks, xpt_list) { svc_find_xprt() 1233 spin_unlock_bh(&serv->sv_lock); svc_find_xprt() 1253 * @serv: pointer to an RPC service 1263 int svc_xprt_names(struct svc_serv *serv, char *buf, const int buflen) svc_xprt_names() argument 1270 if (!serv) svc_xprt_names() 1273 spin_lock_bh(&serv->sv_lock); svc_xprt_names() 1277 list_for_each_entry(xprt, &serv->sv_permsocks, xpt_list) { svc_xprt_names() 1290 spin_unlock_bh(&serv->sv_lock); svc_xprt_names() 1301 struct svc_serv *serv = m->private; svc_pool_stats_start() local 1307 return (pidx > serv->sv_nrpools ? NULL : &serv->sv_pools[pidx-1]); svc_pool_stats_start() 1313 struct svc_serv *serv = m->private; svc_pool_stats_next() local 1318 pool = &serv->sv_pools[0]; svc_pool_stats_next() 1320 unsigned int pidx = (pool - &serv->sv_pools[0]); svc_pool_stats_next() 1321 if (pidx < serv->sv_nrpools-1) svc_pool_stats_next() 1322 pool = &serv->sv_pools[pidx+1]; svc_pool_stats_next() 1360 int svc_pool_stats_open(struct svc_serv *serv, struct file *file) svc_pool_stats_open() argument 1366 ((struct seq_file *) file->private_data)->private = serv; svc_pool_stats_open() 152 svc_xprt_init(struct net *net, struct svc_xprt_class *xcl, struct svc_xprt *xprt, struct svc_serv *serv) svc_xprt_init() argument 172 __svc_xpo_create(struct svc_xprt_class *xcl, struct svc_serv *serv, struct net *net, const int family, const unsigned short port, int flags) __svc_xpo_create() argument
|
H A D | svcsock.c | 445 struct svc_serv *serv = svsk->sk_xprt.xpt_server; svc_tcp_has_wspace() local 450 required = atomic_read(&xprt->xpt_reserved) + serv->sv_max_mesg; svc_tcp_has_wspace() 541 struct svc_serv *serv = svsk->sk_xprt.xpt_server; svc_udp_recvfrom() local 567 (serv->sv_nrthreads+3) * serv->sv_max_mesg, svc_udp_recvfrom() 568 (serv->sv_nrthreads+3) * serv->sv_max_mesg); svc_udp_recvfrom() 639 if (serv->sv_stats) svc_udp_recvfrom() 640 serv->sv_stats->netudpcnt++; svc_udp_recvfrom() 669 struct svc_serv *serv = xprt->xpt_server; svc_udp_has_wspace() local 677 required = atomic_read(&svsk->sk_xprt.xpt_reserved) + serv->sv_max_mesg; svc_udp_has_wspace() 690 static struct svc_xprt *svc_udp_create(struct svc_serv *serv, svc_udp_create() argument 695 return svc_create_socket(serv, IPPROTO_UDP, net, sa, salen, flags); svc_udp_create() 719 static void svc_udp_init(struct svc_sock *svsk, struct svc_serv *serv) svc_udp_init() argument 724 &svsk->sk_xprt, serv); svc_udp_init() local 838 struct svc_serv *serv = svsk->sk_xprt.xpt_server; svc_tcp_accept() local 854 serv->sv_name); svc_tcp_accept() 857 serv->sv_name, -err); svc_tcp_accept() 865 serv->sv_name, -err); svc_tcp_accept() 875 serv->sv_name, svc_tcp_accept() 878 dprintk("%s: connect from %s\n", serv->sv_name, svc_tcp_accept() 886 newsvsk = svc_setup_socket(serv, newsock, svc_tcp_accept() 902 if (serv->sv_stats) svc_tcp_accept() 903 serv->sv_stats->nettcpconn++; svc_tcp_accept() 972 struct svc_serv *serv = svsk->sk_xprt.xpt_server; svc_tcp_recv_record() local 994 serv->sv_max_mesg) { svc_tcp_recv_record() 1086 struct svc_serv *serv = svsk->sk_xprt.xpt_server; svc_tcp_recvfrom() local 1166 if (serv->sv_stats) svc_tcp_recvfrom() 1167 serv->sv_stats->nettcpcnt++; svc_tcp_recvfrom() 1226 static struct svc_xprt *svc_tcp_create(struct svc_serv *serv, svc_tcp_create() argument 1231 return svc_create_socket(serv, IPPROTO_TCP, net, sa, salen, flags); svc_tcp_create() 1240 static struct svc_xprt *svc_bc_tcp_create(struct svc_serv *serv, svc_bc_tcp_create() argument 1245 return svc_bc_create_socket(serv, IPPROTO_TCP, net, sa, salen, flags); svc_bc_tcp_create() 1322 static void svc_tcp_init(struct svc_sock *svsk, struct svc_serv *serv) svc_tcp_init() argument 1327 &svsk->sk_xprt, serv); svc_tcp_init() local 1353 void svc_sock_update_bufs(struct svc_serv *serv) svc_sock_update_bufs() argument 1361 spin_lock_bh(&serv->sv_lock); svc_sock_update_bufs() 1362 list_for_each_entry(svsk, &serv->sv_permsocks, sk_xprt.xpt_list) svc_sock_update_bufs() 1364 spin_unlock_bh(&serv->sv_lock); svc_sock_update_bufs() 1372 static struct svc_sock *svc_setup_socket(struct svc_serv *serv, svc_setup_socket() argument 1390 err = svc_register(serv, sock_net(sock->sk), inet->sk_family, svc_setup_socket() 1408 svc_udp_init(svsk, serv); svc_setup_socket() 1413 svc_sock_setbufsize(svsk->sk_sock, 4 * serv->sv_max_mesg, svc_setup_socket() 1414 4 * serv->sv_max_mesg); svc_setup_socket() 1415 svc_tcp_init(svsk, serv); svc_setup_socket() 1442 * @serv: pointer to RPC service to which to add a new listener 1451 int svc_addsock(struct svc_serv *serv, const int fd, char *name_return, svc_addsock() argument 1476 svsk = svc_setup_socket(serv, so, SVC_SOCK_DEFAULTS); svc_addsock() 1484 svc_add_new_perm_xprt(serv, &svsk->sk_xprt); svc_addsock() 1495 static struct svc_xprt *svc_create_socket(struct svc_serv *serv, svc_create_socket() argument 1513 serv->sv_program->pg_name, protocol, svc_create_socket() 1566 svsk = svc_setup_socket(serv, sock, flags); svc_create_socket() 1637 static struct svc_xprt *svc_bc_create_socket(struct svc_serv *serv, svc_bc_create_socket() argument 1657 svc_xprt_init(net, &svc_tcp_bc_class, xprt, serv); svc_bc_create_socket() 1659 serv->sv_bc_xprt = xprt; svc_bc_create_socket()
|
/linux-4.1.27/fs/lockd/ |
H A D | svc.c | 179 static int create_lockd_listener(struct svc_serv *serv, const char *name, create_lockd_listener() argument 185 xprt = svc_find_xprt(serv, name, net, family, 0); create_lockd_listener() 187 return svc_create_xprt(serv, name, net, family, port, create_lockd_listener() 193 static int create_lockd_family(struct svc_serv *serv, struct net *net, create_lockd_family() argument 198 err = create_lockd_listener(serv, "udp", net, family, nlm_udpport); create_lockd_family() 202 return create_lockd_listener(serv, "tcp", net, family, nlm_tcpport); create_lockd_family() 215 static int make_socks(struct svc_serv *serv, struct net *net) make_socks() argument 220 err = create_lockd_family(serv, net, PF_INET); make_socks() 224 err = create_lockd_family(serv, net, PF_INET6); make_socks() 235 svc_shutdown_net(serv, net); make_socks() 239 static int lockd_up_net(struct svc_serv *serv, struct net *net) lockd_up_net() argument 247 error = svc_bind(serv, net); lockd_up_net() 251 error = make_socks(serv, net); lockd_up_net() 263 static void lockd_down_net(struct svc_serv *serv, struct net *net) lockd_down_net() argument 272 svc_shutdown_net(serv, net); lockd_down_net() 282 static int lockd_start_svc(struct svc_serv *serv) lockd_start_svc() argument 292 nlmsvc_rqst = svc_prepare_thread(serv, &serv->sv_pools[0], NUMA_NO_NODE); lockd_start_svc() 301 svc_sock_update_bufs(serv); lockd_start_svc() 302 serv->sv_maxconn = nlm_max_connections; lockd_start_svc() 304 nlmsvc_task = kthread_create(lockd, nlmsvc_rqst, "%s", serv->sv_name); lockd_start_svc() 327 struct svc_serv *serv; lockd_create_svc() local 353 serv = svc_create(&nlmsvc_program, LOCKD_BUFSIZE, svc_rpcb_cleanup); lockd_create_svc() 354 if (!serv) { lockd_create_svc() 359 return serv; lockd_create_svc() 367 struct svc_serv *serv; lockd_up() local 372 serv = lockd_create_svc(); lockd_up() 373 if (IS_ERR(serv)) { lockd_up() 374 error = PTR_ERR(serv); lockd_up() 378 error = lockd_up_net(serv, net); lockd_up() 382 error = lockd_start_svc(serv); lockd_up() 392 svc_destroy(serv); lockd_up() 398 lockd_down_net(serv, net); lockd_up()
|
/linux-4.1.27/net/caif/ |
H A D | cfrfml.c | 17 #define container_obj(layr) container_of(layr, struct cfrfml, serv.layer) 25 struct cfsrvl serv; member in struct:cfrfml 54 cfsrvl_init(&this->serv, channel_id, dev_info, false); cfrfml_create() 55 this->serv.release = cfrfml_release; cfrfml_create() 56 this->serv.layer.receive = cfrfml_receive; cfrfml_create() 57 this->serv.layer.transmit = cfrfml_transmit; cfrfml_create() 65 snprintf(this->serv.layer.name, CAIF_LAYER_NAME_SZ, cfrfml_create() 68 return &this->serv.layer; cfrfml_create() 167 err = rfml->serv.layer.up->receive(rfml->serv.layer.up, pkt); cfrfml_receive() 184 rfml->serv.dev_info.id); cfrfml_receive() 201 cfpkt_info(pkt)->channel_id = rfml->serv.layer.id; cfrfml_transmit_segment() 208 cfpkt_info(pkt)->dev_info = &rfml->serv.dev_info; cfrfml_transmit_segment() 210 return rfml->serv.layer.dn->transmit(rfml->serv.layer.dn, pkt); cfrfml_transmit_segment() 225 if (!cfsrvl_ready(&rfml->serv, &err)) cfrfml_transmit() 292 rfml->serv.dev_info.id); cfrfml_transmit()
|
H A D | cfctrl.c | 17 #define container_obj(layr) container_of(layr, struct cfctrl, serv.layer) 42 caif_assert(offsetof(struct cfctrl, serv.layer) == 0); cfctrl_create() 45 cfsrvl_init(&this->serv, 0, &dev_info, false); cfctrl_create() 48 this->serv.layer.receive = cfctrl_recv; cfctrl_create() 49 sprintf(this->serv.layer.name, "ctrl"); cfctrl_create() 50 this->serv.layer.ctrlcmd = cfctrl_ctrlcmd; cfctrl_create() 57 return &this->serv.layer; cfctrl_create() 172 info->channel_id = cfctrl->serv.layer.id; init_info() 173 info->dev_info = &cfctrl->serv.dev_info; init_info() 180 struct cflayer *dn = cfctrl->serv.layer.dn; cfctrl_enum_req() 189 caif_assert(offsetof(struct cfctrl, serv.layer) == 0); cfctrl_enum_req() 192 cfctrl->serv.dev_info.id = physlinkid; cfctrl_enum_req() 211 struct cflayer *dn = cfctrl->serv.layer.dn; cfctrl_linkup_request() 294 count = cfctrl_cancel_req(&cfctrl->serv.layer, cfctrl_linkup_request() 310 struct cflayer *dn = cfctrl->serv.layer.dn; cfctrl_linkdown_req() 375 enum cfctrl_srv serv; cfctrl_recv() local 389 serv = tmp & CFCTRL_SRV_MASK; cfctrl_recv() 390 linkparam.linktype = serv; cfctrl_recv() 404 switch (serv) { cfctrl_recv() 494 serv); cfctrl_recv() 507 cfctrl->res.reject_rsp(cfctrl->serv.layer.up, cfctrl_recv() 512 cfctrl->res.linksetup_rsp(cfctrl->serv. cfctrl_recv() 514 serv, physlinkid, cfctrl_recv() 526 cfctrl->res.linkdestroy_rsp(cfctrl->serv.layer.up, linkid); cfctrl_recv()
|
H A D | cfcnfg.c | 64 enum cfctrl_srv serv, u8 phyid, 374 cfcnfg_linkup_rsp(struct cflayer *layer, u8 channel_id, enum cfctrl_srv serv, cfcnfg_linkup_rsp() argument 416 switch (serv) { cfcnfg_linkup_rsp()
|
/linux-4.1.27/include/linux/sunrpc/ |
H A D | svcsock.h | 58 void svc_sock_update_bufs(struct svc_serv *serv); 60 int svc_addsock(struct svc_serv *serv, const int fd, 64 struct svc_xprt *svc_sock_create(struct svc_serv *serv, int prot);
|
H A D | svc.h | 89 void (*sv_shutdown)(struct svc_serv *serv, 115 static inline void svc_get(struct svc_serv *serv) svc_get() argument 117 serv->sv_nrthreads++; svc_get() 428 int svc_rpcb_setup(struct svc_serv *serv, struct net *net); 429 void svc_rpcb_cleanup(struct svc_serv *serv, struct net *net); 430 int svc_bind(struct svc_serv *serv, struct net *net); 433 struct svc_rqst *svc_prepare_thread(struct svc_serv *serv, 440 int svc_pool_stats_open(struct svc_serv *serv, struct file *file); 451 struct svc_pool * svc_pool_for_cpu(struct svc_serv *serv, int cpu);
|
H A D | svc_xprt.h | 125 struct svc_xprt *svc_find_xprt(struct svc_serv *serv, const char *xcl_name, 128 int svc_xprt_names(struct svc_serv *serv, char *buf, const int buflen); 129 void svc_add_new_perm_xprt(struct svc_serv *serv, struct svc_xprt *xprt);
|
/linux-4.1.27/include/net/caif/ |
H A D | cfctrl.h | 44 enum cfctrl_srv serv, u8 phyid, 102 struct cfsrvl serv; member in struct:cfctrl
|
/linux-4.1.27/tools/usb/usbip/libsrc/ |
H A D | vhci_driver.c | 374 char serv[NI_MAXSERV] = "unknown port"; usbip_vhci_imported_device_dump() local 382 ret = read_record(idev->port, host, sizeof(host), serv, sizeof(serv), usbip_vhci_imported_device_dump() 400 host, serv, remote_busid); usbip_vhci_imported_device_dump()
|
/linux-4.1.27/drivers/scsi/ |
H A D | gdth.h | 222 #define GDT_RESERVE 14 /* reserve dev. to raw serv. */ 266 #define S_CACHE_UNKNOWN 12 /* cache serv.: drive unknown */ 267 #define S_RAW_SCSI 12 /* raw serv.: target error */ 268 #define S_RAW_ILL 0xff /* raw serv.: illegal */ 845 u16 cache_feat; /* feat. cache serv. (s/g,..)*/
|
H A D | qlogicfas408.c | 367 * bus serv if only status
|
H A D | gdth.c | 3231 TRACE(("gdth_sync_event() serv %d status %d\n", gdth_sync_event() 3593 TRACE2(("gdth_async_event() ha %d serv %d\n", gdth_async_event()
|
/linux-4.1.27/net/sunrpc/xprtrdma/ |
H A D | svc_rdma_transport.c | 59 static struct svc_xprt *svc_rdma_create(struct svc_serv *serv, 460 static struct svcxprt_rdma *rdma_create_xprt(struct svc_serv *serv, rdma_create_xprt() argument 467 svc_xprt_init(&init_net, &svc_rdma_class, &cma_xprt->sc_xprt, serv); rdma_create_xprt() 689 static struct svc_xprt *svc_rdma_create(struct svc_serv *serv, svc_rdma_create() argument 703 cma_xprt = rdma_create_xprt(serv, 1); svc_rdma_create()
|
/linux-4.1.27/fs/nfsd/ |
H A D | nfssvc.c | 309 static void nfsd_last_thread(struct svc_serv *serv, struct net *net) nfsd_last_thread() argument 323 svc_rpcb_cleanup(serv, net); nfsd_last_thread()
|
/linux-4.1.27/include/uapi/scsi/fc/ |
H A D | fc_els.h | 404 __u8 prli_spp_len; /* length of each serv. parm. page */
|
/linux-4.1.27/drivers/atm/ |
H A D | eni.c | 872 EVENT("drain PDUs (rx %ld, serv %ld)\n",eni_vcc->rxing, close_rx()
|
/linux-4.1.27/drivers/scsi/arm/ |
H A D | acornscsi.c | 406 "serv", "9", "a", "b",
|