Lines Matching refs:nn

123 	struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id);  in get_client_locked()  local
125 lockdep_assert_held(&nn->client_lock); in get_client_locked()
137 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id); in renew_client_locked() local
151 list_move_tail(&clp->cl_lru, &nn->client_lru); in renew_client_locked()
157 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id); in put_client_renew_locked() local
159 lockdep_assert_held(&nn->client_lock); in put_client_renew_locked()
169 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id); in put_client_renew() local
171 if (!atomic_dec_and_lock(&clp->cl_refcount, &nn->client_lock)) in put_client_renew()
175 spin_unlock(&nn->client_lock); in put_client_renew()
194 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id); in nfsd4_put_session_locked() local
196 lockdep_assert_held(&nn->client_lock); in nfsd4_put_session_locked()
206 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id); in nfsd4_put_session() local
208 spin_lock(&nn->client_lock); in nfsd4_put_session()
210 spin_unlock(&nn->client_lock); in nfsd4_put_session()
1274 struct nfsd_net *nn = net_generic(oo->oo_owner.so_client->net, in release_last_closed_stateid() local
1278 spin_lock(&nn->client_lock); in release_last_closed_stateid()
1284 spin_unlock(&nn->client_lock); in release_last_closed_stateid()
1582 struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); in init_session() local
1595 list_add(&new->se_hash, &nn->sessionid_hashtbl[idx]); in init_session()
1620 struct nfsd_net *nn = net_generic(net, nfsd_net_id); in __find_in_sessionid_hashtbl() local
1622 lockdep_assert_held(&nn->client_lock); in __find_in_sessionid_hashtbl()
1627 list_for_each_entry(elem, &nn->sessionid_hashtbl[idx], se_hash) { in __find_in_sessionid_hashtbl()
1661 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id); in unhash_session() local
1663 lockdep_assert_held(&nn->client_lock); in unhash_session()
1673 STALE_CLIENTID(clientid_t *clid, struct nfsd_net *nn) in STALE_CLIENTID() argument
1680 if (clid->cl_boot == (u32)nn->boot_time) in STALE_CLIENTID()
1683 clid->cl_boot, clid->cl_id, nn->boot_time); in STALE_CLIENTID()
1755 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id); in unhash_client_locked() local
1758 lockdep_assert_held(&nn->client_lock); in unhash_client_locked()
1766 rb_erase(&clp->cl_namenode, &nn->conf_name_tree); in unhash_client_locked()
1768 rb_erase(&clp->cl_namenode, &nn->unconf_name_tree); in unhash_client_locked()
1780 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id); in unhash_client() local
1782 spin_lock(&nn->client_lock); in unhash_client()
1784 spin_unlock(&nn->client_lock); in unhash_client()
1977 static void gen_confirm(struct nfs4_client *clp, struct nfsd_net *nn) in gen_confirm() argument
1986 verf[1] = (__force __be32)nn->clverifier_counter++; in gen_confirm()
1990 static void gen_clid(struct nfs4_client *clp, struct nfsd_net *nn) in gen_clid() argument
1992 clp->cl_clientid.cl_boot = nn->boot_time; in gen_clid()
1993 clp->cl_clientid.cl_id = nn->clientid_counter++; in gen_clid()
1994 gen_confirm(clp, nn); in gen_clid()
2096 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id); in add_to_unconfirmed() local
2098 lockdep_assert_held(&nn->client_lock); in add_to_unconfirmed()
2101 add_clp_to_name_tree(clp, &nn->unconf_name_tree); in add_to_unconfirmed()
2103 list_add(&clp->cl_idhash, &nn->unconf_id_hashtbl[idhashval]); in add_to_unconfirmed()
2111 struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id); in move_to_confirmed() local
2113 lockdep_assert_held(&nn->client_lock); in move_to_confirmed()
2116 list_move(&clp->cl_idhash, &nn->conf_id_hashtbl[idhashval]); in move_to_confirmed()
2117 rb_erase(&clp->cl_namenode, &nn->unconf_name_tree); in move_to_confirmed()
2118 add_clp_to_name_tree(clp, &nn->conf_name_tree); in move_to_confirmed()
2141 find_confirmed_client(clientid_t *clid, bool sessions, struct nfsd_net *nn) in find_confirmed_client() argument
2143 struct list_head *tbl = nn->conf_id_hashtbl; in find_confirmed_client()
2145 lockdep_assert_held(&nn->client_lock); in find_confirmed_client()
2150 find_unconfirmed_client(clientid_t *clid, bool sessions, struct nfsd_net *nn) in find_unconfirmed_client() argument
2152 struct list_head *tbl = nn->unconf_id_hashtbl; in find_unconfirmed_client()
2154 lockdep_assert_held(&nn->client_lock); in find_unconfirmed_client()
2164 find_confirmed_client_by_name(struct xdr_netobj *name, struct nfsd_net *nn) in find_confirmed_client_by_name() argument
2166 lockdep_assert_held(&nn->client_lock); in find_confirmed_client_by_name()
2167 return find_clp_in_name_tree(name, &nn->conf_name_tree); in find_confirmed_client_by_name()
2171 find_unconfirmed_client_by_name(struct xdr_netobj *name, struct nfsd_net *nn) in find_unconfirmed_client_by_name() argument
2173 lockdep_assert_held(&nn->client_lock); in find_unconfirmed_client_by_name()
2174 return find_clp_in_name_tree(name, &nn->unconf_name_tree); in find_unconfirmed_client_by_name()
2357 struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); in nfsd4_exchange_id() local
2385 spin_lock(&nn->client_lock); in nfsd4_exchange_id()
2386 conf = find_confirmed_client_by_name(&exid->clname, nn); in nfsd4_exchange_id()
2433 unconf = find_unconfirmed_client_by_name(&exid->clname, nn); in nfsd4_exchange_id()
2447 gen_clid(new, nn); in nfsd4_exchange_id()
2462 spin_unlock(&nn->client_lock); in nfsd4_exchange_id()
2529 static __be32 check_forechannel_attrs(struct nfsd4_channel_attrs *ca, struct nfsd_net *nn) in check_forechannel_attrs() argument
2531 u32 maxrpc = nn->nfsd_serv->sv_max_mesg; in check_forechannel_attrs()
2615 struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); in nfsd4_create_session() local
2622 status = check_forechannel_attrs(&cr_ses->fore_channel, nn); in nfsd4_create_session()
2636 spin_lock(&nn->client_lock); in nfsd4_create_session()
2637 unconf = find_unconfirmed_client(&cr_ses->clientid, true, nn); in nfsd4_create_session()
2638 conf = find_confirmed_client(&cr_ses->clientid, true, nn); in nfsd4_create_session()
2668 old = find_confirmed_client_by_name(&unconf->cl_name, nn); in nfsd4_create_session()
2699 spin_unlock(&nn->client_lock); in nfsd4_create_session()
2707 spin_unlock(&nn->client_lock); in nfsd4_create_session()
2735 struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); in nfsd4_backchannel_ctl() local
2741 spin_lock(&nn->client_lock); in nfsd4_backchannel_ctl()
2744 spin_unlock(&nn->client_lock); in nfsd4_backchannel_ctl()
2759 struct nfsd_net *nn = net_generic(net, nfsd_net_id); in nfsd4_bind_conn_to_session() local
2763 spin_lock(&nn->client_lock); in nfsd4_bind_conn_to_session()
2765 spin_unlock(&nn->client_lock); in nfsd4_bind_conn_to_session()
2802 struct nfsd_net *nn = net_generic(net, nfsd_net_id); in nfsd4_destroy_session() local
2811 spin_lock(&nn->client_lock); in nfsd4_destroy_session()
2822 spin_unlock(&nn->client_lock); in nfsd4_destroy_session()
2826 spin_lock(&nn->client_lock); in nfsd4_destroy_session()
2831 spin_unlock(&nn->client_lock); in nfsd4_destroy_session()
2904 struct nfsd_net *nn = net_generic(net, nfsd_net_id); in nfsd4_sequence() local
2917 spin_lock(&nn->client_lock); in nfsd4_sequence()
3004 spin_unlock(&nn->client_lock); in nfsd4_sequence()
3033 struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); in nfsd4_destroy_clientid() local
3035 spin_lock(&nn->client_lock); in nfsd4_destroy_clientid()
3036 unconf = find_unconfirmed_client(&dc->clientid, true, nn); in nfsd4_destroy_clientid()
3037 conf = find_confirmed_client(&dc->clientid, true, nn); in nfsd4_destroy_clientid()
3062 spin_unlock(&nn->client_lock); in nfsd4_destroy_clientid()
3114 struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); in nfsd4_setclientid() local
3120 spin_lock(&nn->client_lock); in nfsd4_setclientid()
3121 conf = find_confirmed_client_by_name(&clname, nn); in nfsd4_setclientid()
3136 unconf = find_unconfirmed_client_by_name(&clname, nn); in nfsd4_setclientid()
3142 gen_confirm(new, nn); in nfsd4_setclientid()
3144 gen_clid(new, nn); in nfsd4_setclientid()
3154 spin_unlock(&nn->client_lock); in nfsd4_setclientid()
3173 struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); in nfsd4_setclientid_confirm() local
3175 if (STALE_CLIENTID(clid, nn)) in nfsd4_setclientid_confirm()
3178 spin_lock(&nn->client_lock); in nfsd4_setclientid_confirm()
3179 conf = find_confirmed_client(clid, false, nn); in nfsd4_setclientid_confirm()
3180 unconf = find_unconfirmed_client(clid, false, nn); in nfsd4_setclientid_confirm()
3207 old = find_confirmed_client_by_name(&unconf->cl_name, nn); in nfsd4_setclientid_confirm()
3224 spin_unlock(&nn->client_lock); in nfsd4_setclientid_confirm()
3226 spin_lock(&nn->client_lock); in nfsd4_setclientid_confirm()
3229 spin_unlock(&nn->client_lock); in nfsd4_setclientid_confirm()
3490 struct nfsd_net *nn = net_generic(s->st_stid.sc_client->net, in move_to_close_lru() local
3512 spin_lock(&nn->client_lock); in move_to_close_lru()
3515 list_move_tail(&oo->oo_close_lru, &nn->close_lru); in move_to_close_lru()
3517 spin_unlock(&nn->client_lock); in move_to_close_lru()
3597 struct nfsd_net *nn = net_generic(dp->dl_stid.sc_client->net, in nfsd4_cb_recall_prepare() local
3612 list_add_tail(&dp->dl_recall_lru, &nn->del_recall_lru); in nfsd4_cb_recall_prepare()
3736 struct nfsd_net *nn) in lookup_clientid() argument
3747 if (STALE_CLIENTID(clid, nn)) in lookup_clientid()
3756 spin_lock(&nn->client_lock); in lookup_clientid()
3757 found = find_confirmed_client(clid, false, nn); in lookup_clientid()
3759 spin_unlock(&nn->client_lock); in lookup_clientid()
3763 spin_unlock(&nn->client_lock); in lookup_clientid()
3772 struct nfsd4_open *open, struct nfsd_net *nn) in nfsd4_process_open1() argument
3780 if (STALE_CLIENTID(&open->op_clientid, nn)) in nfsd4_process_open1()
3790 status = lookup_clientid(clientid, cstate, nn); in nfsd4_process_open1()
4408 struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); in nfsd4_renew() local
4412 status = lookup_clientid(clid, cstate, nn); in nfsd4_renew()
4426 nfsd4_end_grace(struct nfsd_net *nn) in nfsd4_end_grace() argument
4429 if (nn->grace_ended) in nfsd4_end_grace()
4433 nn->grace_ended = true; in nfsd4_end_grace()
4440 nfsd4_record_grace_done(nn); in nfsd4_end_grace()
4450 locks_end_grace(&nn->nfsd4_manager); in nfsd4_end_grace()
4459 nfs4_laundromat(struct nfsd_net *nn) in nfs4_laundromat() argument
4466 time_t cutoff = get_seconds() - nn->nfsd4_lease; in nfs4_laundromat()
4467 time_t t, new_timeo = nn->nfsd4_lease; in nfs4_laundromat()
4470 nfsd4_end_grace(nn); in nfs4_laundromat()
4472 spin_lock(&nn->client_lock); in nfs4_laundromat()
4473 list_for_each_safe(pos, next, &nn->client_lru) { in nfs4_laundromat()
4487 spin_unlock(&nn->client_lock); in nfs4_laundromat()
4496 list_for_each_safe(pos, next, &nn->del_recall_lru) { in nfs4_laundromat()
4514 spin_lock(&nn->client_lock); in nfs4_laundromat()
4515 while (!list_empty(&nn->close_lru)) { in nfs4_laundromat()
4516 oo = list_first_entry(&nn->close_lru, struct nfs4_openowner, in nfs4_laundromat()
4527 spin_unlock(&nn->client_lock); in nfs4_laundromat()
4529 spin_lock(&nn->client_lock); in nfs4_laundromat()
4531 spin_unlock(&nn->client_lock); in nfs4_laundromat()
4546 struct nfsd_net *nn = container_of(dwork, struct nfsd_net, in laundromat_main() local
4549 t = nfs4_laundromat(nn); in laundromat_main()
4551 queue_delayed_work(laundry_wq, &nn->laundromat_work, t*HZ); in laundromat_main()
4711 struct nfs4_stid **s, struct nfsd_net *nn) in nfsd4_lookup_stateid() argument
4717 status = lookup_clientid(&stateid->si_opaque.so_clid, cstate, nn); in nfsd4_lookup_stateid()
4806 struct nfsd_net *nn = net_generic(net, nfsd_net_id); in nfs4_preprocess_stateid_op() local
4825 &s, nn); in nfs4_preprocess_stateid_op()
4969 struct nfsd_net *nn) in nfs4_preprocess_seqid_op() argument
4979 status = nfsd4_lookup_stateid(cstate, stateid, typemask, &s, nn); in nfs4_preprocess_seqid_op()
4994 stateid_t *stateid, struct nfs4_ol_stateid **stpp, struct nfsd_net *nn) in nfs4_preprocess_confirmed_seqid_op() argument
5001 NFS4_OPEN_STID, &stp, nn); in nfs4_preprocess_confirmed_seqid_op()
5021 struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); in nfsd4_open_confirm() local
5032 NFS4_OPEN_STID, &stp, nn); in nfsd4_open_confirm()
5089 struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); in nfsd4_open_downgrade() local
5100 &od->od_stateid, &stp, nn); in nfsd4_open_downgrade()
5159 struct nfsd_net *nn = net_generic(net, nfsd_net_id); in nfsd4_close() local
5167 &stp, nn); in nfsd4_close()
5190 struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); in nfsd4_delegreturn() local
5195 status = nfsd4_lookup_stateid(cstate, stateid, NFS4_DELEG_STID, &s, nn); in nfsd4_delegreturn()
5534 struct nfsd_net *nn = net_generic(net, nfsd_net_id); in nfsd4_lock() local
5557 if (STALE_CLIENTID(&lock->lk_new_clientid, nn)) in nfsd4_lock()
5564 &open_stp, nn); in nfsd4_lock()
5581 NFS4_LOCK_STID, &lock_stp, nn); in nfsd4_lock()
5728 struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); in nfsd4_lockt() local
5737 status = lookup_clientid(&lockt->lt_clientid, cstate, nn); in nfsd4_lockt()
5803 struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); in nfsd4_locku() local
5814 &stp, nn); in nfsd4_locku()
5912 struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); in nfsd4_release_lockowner() local
5918 status = lookup_clientid(clid, cstate, nn); in nfsd4_release_lockowner()
5957 nfs4_has_reclaimed_state(const char *name, struct nfsd_net *nn) in nfs4_has_reclaimed_state() argument
5961 crp = nfsd4_find_reclaim_client(name, nn); in nfs4_has_reclaimed_state()
5969 nfs4_client_to_reclaim(const char *name, struct nfsd_net *nn) in nfs4_client_to_reclaim() argument
5979 list_add(&crp->cr_strhash, &nn->reclaim_str_hashtbl[strhashval]); in nfs4_client_to_reclaim()
5982 nn->reclaim_str_hashtbl_size++; in nfs4_client_to_reclaim()
5988 nfs4_remove_reclaim_record(struct nfs4_client_reclaim *crp, struct nfsd_net *nn) in nfs4_remove_reclaim_record() argument
5992 nn->reclaim_str_hashtbl_size--; in nfs4_remove_reclaim_record()
5996 nfs4_release_reclaim(struct nfsd_net *nn) in nfs4_release_reclaim() argument
6002 while (!list_empty(&nn->reclaim_str_hashtbl[i])) { in nfs4_release_reclaim()
6003 crp = list_entry(nn->reclaim_str_hashtbl[i].next, in nfs4_release_reclaim()
6005 nfs4_remove_reclaim_record(crp, nn); in nfs4_release_reclaim()
6008 WARN_ON_ONCE(nn->reclaim_str_hashtbl_size); in nfs4_release_reclaim()
6014 nfsd4_find_reclaim_client(const char *recdir, struct nfsd_net *nn) in nfsd4_find_reclaim_client() argument
6022 list_for_each_entry(crp, &nn->reclaim_str_hashtbl[strhashval], cr_strhash) { in nfsd4_find_reclaim_client()
6036 struct nfsd_net *nn) in nfs4_check_open_reclaim() argument
6041 status = lookup_clientid(clid, cstate, nn); in nfs4_check_open_reclaim()
6065 struct nfsd_net *nn = net_generic(current->nsproxy->net_ns, in nfsd_find_client() local
6068 if (!nfsd_netns_ready(nn)) in nfsd_find_client()
6071 list_for_each_entry(clp, &nn->client_lru, cl_lru) { in nfsd_find_client()
6083 struct nfsd_net *nn = net_generic(current->nsproxy->net_ns, in nfsd_inject_print_clients() local
6087 if (!nfsd_netns_ready(nn)) in nfsd_inject_print_clients()
6090 spin_lock(&nn->client_lock); in nfsd_inject_print_clients()
6091 list_for_each_entry(clp, &nn->client_lru, cl_lru) { in nfsd_inject_print_clients()
6096 spin_unlock(&nn->client_lock); in nfsd_inject_print_clients()
6106 struct nfsd_net *nn = net_generic(current->nsproxy->net_ns, in nfsd_inject_forget_client() local
6109 if (!nfsd_netns_ready(nn)) in nfsd_inject_forget_client()
6112 spin_lock(&nn->client_lock); in nfsd_inject_forget_client()
6120 spin_unlock(&nn->client_lock); in nfsd_inject_forget_client()
6133 struct nfsd_net *nn = net_generic(current->nsproxy->net_ns, in nfsd_inject_forget_clients() local
6137 if (!nfsd_netns_ready(nn)) in nfsd_inject_forget_clients()
6140 spin_lock(&nn->client_lock); in nfsd_inject_forget_clients()
6141 list_for_each_entry_safe(clp, next, &nn->client_lru, cl_lru) { in nfsd_inject_forget_clients()
6148 spin_unlock(&nn->client_lock); in nfsd_inject_forget_clients()
6169 struct nfsd_net *nn = net_generic(current->nsproxy->net_ns, in nfsd_inject_add_lock_to_list() local
6175 lockdep_assert_held(&nn->client_lock); in nfsd_inject_add_lock_to_list()
6240 struct nfsd_net *nn = net_generic(current->nsproxy->net_ns, in nfsd_inject_print_locks() local
6243 if (!nfsd_netns_ready(nn)) in nfsd_inject_print_locks()
6246 spin_lock(&nn->client_lock); in nfsd_inject_print_locks()
6247 list_for_each_entry(clp, &nn->client_lru, cl_lru) in nfsd_inject_print_locks()
6249 spin_unlock(&nn->client_lock); in nfsd_inject_print_locks()
6273 struct nfsd_net *nn = net_generic(current->nsproxy->net_ns, in nfsd_inject_forget_client_locks() local
6277 if (!nfsd_netns_ready(nn)) in nfsd_inject_forget_client_locks()
6280 spin_lock(&nn->client_lock); in nfsd_inject_forget_client_locks()
6284 spin_unlock(&nn->client_lock); in nfsd_inject_forget_client_locks()
6294 struct nfsd_net *nn = net_generic(current->nsproxy->net_ns, in nfsd_inject_forget_locks() local
6298 if (!nfsd_netns_ready(nn)) in nfsd_inject_forget_locks()
6301 spin_lock(&nn->client_lock); in nfsd_inject_forget_locks()
6302 list_for_each_entry(clp, &nn->client_lru, cl_lru) { in nfsd_inject_forget_locks()
6307 spin_unlock(&nn->client_lock); in nfsd_inject_forget_locks()
6318 struct nfsd_net *nn = net_generic(current->nsproxy->net_ns, in nfsd_foreach_client_openowner() local
6322 lockdep_assert_held(&nn->client_lock); in nfsd_foreach_client_openowner()
6371 struct nfsd_net *nn = net_generic(current->nsproxy->net_ns, in nfsd_inject_print_openowners() local
6374 if (!nfsd_netns_ready(nn)) in nfsd_inject_print_openowners()
6377 spin_lock(&nn->client_lock); in nfsd_inject_print_openowners()
6378 list_for_each_entry(clp, &nn->client_lru, cl_lru) in nfsd_inject_print_openowners()
6380 spin_unlock(&nn->client_lock); in nfsd_inject_print_openowners()
6405 struct nfsd_net *nn = net_generic(current->nsproxy->net_ns, in nfsd_inject_forget_client_openowners() local
6409 if (!nfsd_netns_ready(nn)) in nfsd_inject_forget_client_openowners()
6412 spin_lock(&nn->client_lock); in nfsd_inject_forget_client_openowners()
6416 spin_unlock(&nn->client_lock); in nfsd_inject_forget_client_openowners()
6426 struct nfsd_net *nn = net_generic(current->nsproxy->net_ns, in nfsd_inject_forget_openowners() local
6430 if (!nfsd_netns_ready(nn)) in nfsd_inject_forget_openowners()
6433 spin_lock(&nn->client_lock); in nfsd_inject_forget_openowners()
6434 list_for_each_entry(clp, &nn->client_lru, cl_lru) { in nfsd_inject_forget_openowners()
6440 spin_unlock(&nn->client_lock); in nfsd_inject_forget_openowners()
6449 struct nfsd_net *nn = net_generic(current->nsproxy->net_ns, in nfsd_find_all_delegations() local
6453 lockdep_assert_held(&nn->client_lock); in nfsd_find_all_delegations()
6500 struct nfsd_net *nn = net_generic(current->nsproxy->net_ns, in nfsd_inject_print_delegations() local
6503 if (!nfsd_netns_ready(nn)) in nfsd_inject_print_delegations()
6506 spin_lock(&nn->client_lock); in nfsd_inject_print_delegations()
6507 list_for_each_entry(clp, &nn->client_lru, cl_lru) in nfsd_inject_print_delegations()
6509 spin_unlock(&nn->client_lock); in nfsd_inject_print_delegations()
6534 struct nfsd_net *nn = net_generic(current->nsproxy->net_ns, in nfsd_inject_forget_client_delegations() local
6538 if (!nfsd_netns_ready(nn)) in nfsd_inject_forget_client_delegations()
6541 spin_lock(&nn->client_lock); in nfsd_inject_forget_client_delegations()
6545 spin_unlock(&nn->client_lock); in nfsd_inject_forget_client_delegations()
6556 struct nfsd_net *nn = net_generic(current->nsproxy->net_ns, in nfsd_inject_forget_delegations() local
6560 if (!nfsd_netns_ready(nn)) in nfsd_inject_forget_delegations()
6563 spin_lock(&nn->client_lock); in nfsd_inject_forget_delegations()
6564 list_for_each_entry(clp, &nn->client_lru, cl_lru) { in nfsd_inject_forget_delegations()
6569 spin_unlock(&nn->client_lock); in nfsd_inject_forget_delegations()
6603 struct nfsd_net *nn = net_generic(current->nsproxy->net_ns, in nfsd_inject_recall_client_delegations() local
6607 if (!nfsd_netns_ready(nn)) in nfsd_inject_recall_client_delegations()
6610 spin_lock(&nn->client_lock); in nfsd_inject_recall_client_delegations()
6614 spin_unlock(&nn->client_lock); in nfsd_inject_recall_client_delegations()
6625 struct nfsd_net *nn = net_generic(current->nsproxy->net_ns, in nfsd_inject_recall_delegations() local
6629 if (!nfsd_netns_ready(nn)) in nfsd_inject_recall_delegations()
6632 spin_lock(&nn->client_lock); in nfsd_inject_recall_delegations()
6633 list_for_each_entry_safe(clp, next, &nn->client_lru, cl_lru) { in nfsd_inject_recall_delegations()
6638 spin_unlock(&nn->client_lock); in nfsd_inject_recall_delegations()
6667 struct nfsd_net *nn = net_generic(net, nfsd_net_id); in nfs4_state_create_net() local
6670 nn->conf_id_hashtbl = kmalloc(sizeof(struct list_head) * in nfs4_state_create_net()
6672 if (!nn->conf_id_hashtbl) in nfs4_state_create_net()
6674 nn->unconf_id_hashtbl = kmalloc(sizeof(struct list_head) * in nfs4_state_create_net()
6676 if (!nn->unconf_id_hashtbl) in nfs4_state_create_net()
6678 nn->sessionid_hashtbl = kmalloc(sizeof(struct list_head) * in nfs4_state_create_net()
6680 if (!nn->sessionid_hashtbl) in nfs4_state_create_net()
6684 INIT_LIST_HEAD(&nn->conf_id_hashtbl[i]); in nfs4_state_create_net()
6685 INIT_LIST_HEAD(&nn->unconf_id_hashtbl[i]); in nfs4_state_create_net()
6688 INIT_LIST_HEAD(&nn->sessionid_hashtbl[i]); in nfs4_state_create_net()
6689 nn->conf_name_tree = RB_ROOT; in nfs4_state_create_net()
6690 nn->unconf_name_tree = RB_ROOT; in nfs4_state_create_net()
6691 INIT_LIST_HEAD(&nn->client_lru); in nfs4_state_create_net()
6692 INIT_LIST_HEAD(&nn->close_lru); in nfs4_state_create_net()
6693 INIT_LIST_HEAD(&nn->del_recall_lru); in nfs4_state_create_net()
6694 spin_lock_init(&nn->client_lock); in nfs4_state_create_net()
6696 INIT_DELAYED_WORK(&nn->laundromat_work, laundromat_main); in nfs4_state_create_net()
6702 kfree(nn->unconf_id_hashtbl); in nfs4_state_create_net()
6704 kfree(nn->conf_id_hashtbl); in nfs4_state_create_net()
6714 struct nfsd_net *nn = net_generic(net, nfsd_net_id); in nfs4_state_destroy_net() local
6717 while (!list_empty(&nn->conf_id_hashtbl[i])) { in nfs4_state_destroy_net()
6718 clp = list_entry(nn->conf_id_hashtbl[i].next, struct nfs4_client, cl_idhash); in nfs4_state_destroy_net()
6724 while (!list_empty(&nn->unconf_id_hashtbl[i])) { in nfs4_state_destroy_net()
6725 clp = list_entry(nn->unconf_id_hashtbl[i].next, struct nfs4_client, cl_idhash); in nfs4_state_destroy_net()
6730 kfree(nn->sessionid_hashtbl); in nfs4_state_destroy_net()
6731 kfree(nn->unconf_id_hashtbl); in nfs4_state_destroy_net()
6732 kfree(nn->conf_id_hashtbl); in nfs4_state_destroy_net()
6739 struct nfsd_net *nn = net_generic(net, nfsd_net_id); in nfs4_state_start_net() local
6745 nn->boot_time = get_seconds(); in nfs4_state_start_net()
6746 nn->grace_ended = false; in nfs4_state_start_net()
6747 nn->nfsd4_manager.block_opens = true; in nfs4_state_start_net()
6748 locks_start_grace(net, &nn->nfsd4_manager); in nfs4_state_start_net()
6751 nn->nfsd4_grace, net); in nfs4_state_start_net()
6752 queue_delayed_work(laundry_wq, &nn->laundromat_work, nn->nfsd4_grace * HZ); in nfs4_state_start_net()
6790 struct nfsd_net *nn = net_generic(net, nfsd_net_id); in nfs4_state_shutdown_net() local
6792 cancel_delayed_work_sync(&nn->laundromat_work); in nfs4_state_shutdown_net()
6793 locks_end_grace(&nn->nfsd4_manager); in nfs4_state_shutdown_net()
6797 list_for_each_safe(pos, next, &nn->del_recall_lru) { in nfs4_state_shutdown_net()