Lines Matching refs:oo
563 struct nfs4_openowner *oo; in find_openstateowner_str() local
566 oo = find_openstateowner_str_locked(hashval, open, clp); in find_openstateowner_str()
568 return oo; in find_openstateowner_str()
1628 static bool nfs4_openowner_unhashed(struct nfs4_openowner *oo) in nfs4_openowner_unhashed() argument
1630 lockdep_assert_held(&oo->oo_owner.so_client->cl_lock); in nfs4_openowner_unhashed()
1632 return list_empty(&oo->oo_owner.so_strhash) && in nfs4_openowner_unhashed()
1633 list_empty(&oo->oo_perclient); in nfs4_openowner_unhashed()
1636 static void unhash_openowner_locked(struct nfs4_openowner *oo) in unhash_openowner_locked() argument
1638 struct nfs4_client *clp = oo->oo_owner.so_client; in unhash_openowner_locked()
1642 list_del_init(&oo->oo_owner.so_strhash); in unhash_openowner_locked()
1643 list_del_init(&oo->oo_perclient); in unhash_openowner_locked()
1646 static void release_last_closed_stateid(struct nfs4_openowner *oo) in release_last_closed_stateid() argument
1648 struct nfsd_net *nn = net_generic(oo->oo_owner.so_client->net, in release_last_closed_stateid()
1653 s = oo->oo_last_closed_stid; in release_last_closed_stateid()
1655 list_del_init(&oo->oo_close_lru); in release_last_closed_stateid()
1656 oo->oo_last_closed_stid = NULL; in release_last_closed_stateid()
1663 static void release_openowner(struct nfs4_openowner *oo) in release_openowner() argument
1666 struct nfs4_client *clp = oo->oo_owner.so_client; in release_openowner()
1672 unhash_openowner_locked(oo); in release_openowner()
1673 while (!list_empty(&oo->oo_owner.so_stateids)) { in release_openowner()
1674 stp = list_first_entry(&oo->oo_owner.so_stateids, in release_openowner()
1681 release_last_closed_stateid(oo); in release_openowner()
1682 nfs4_put_stateowner(&oo->oo_owner); in release_openowner()
2230 struct nfs4_openowner *oo; in __destroy_client() local
2253 oo = list_entry(clp->cl_openowners.next, struct nfs4_openowner, oo_perclient); in __destroy_client()
2254 nfs4_get_stateowner(&oo->oo_owner); in __destroy_client()
2255 release_openowner(oo); in __destroy_client()
2610 static void nfs4_show_owner(struct seq_file *s, struct nfs4_stateowner *oo) in nfs4_show_owner() argument
2613 seq_quote_mem(s, oo->so_owner.data, oo->so_owner.len); in nfs4_show_owner()
2627 struct nfs4_stateowner *oo; in nfs4_show_open() local
2633 oo = ols->st_stateowner; in nfs4_show_open()
2659 nfs4_show_owner(s, oo); in nfs4_show_open()
2671 struct nfs4_stateowner *oo; in nfs4_show_lock() local
2674 oo = ols->st_stateowner; in nfs4_show_lock()
2697 nfs4_show_owner(s, oo); in nfs4_show_lock()
3241 struct nfs4_openowner *oo; in client_has_openowners() local
3243 list_for_each_entry(oo, &clp->cl_openowners, oo_perclient) { in client_has_openowners()
3244 if (!list_empty(&oo->oo_owner.so_stateids)) in client_has_openowners()
4499 static void hash_openowner(struct nfs4_openowner *oo, struct nfs4_client *clp, unsigned int strhash… in hash_openowner() argument
4503 list_add(&oo->oo_owner.so_strhash, in hash_openowner()
4505 list_add(&oo->oo_perclient, &clp->cl_openowners); in hash_openowner()
4515 struct nfs4_openowner *oo = openowner(so); in nfs4_free_openowner() local
4517 kmem_cache_free(openowner_slab, oo); in nfs4_free_openowner()
4529 struct nfs4_openowner *oo = open->op_openowner; in nfsd4_find_existing_open() local
4537 if (local->st_stateowner != &oo->oo_owner) in nfsd4_find_existing_open()
4600 struct nfs4_openowner *oo, *ret; in alloc_init_open_stateowner() local
4602 oo = alloc_stateowner(openowner_slab, &open->op_owner, clp); in alloc_init_open_stateowner()
4603 if (!oo) in alloc_init_open_stateowner()
4605 oo->oo_owner.so_ops = &openowner_ops; in alloc_init_open_stateowner()
4606 oo->oo_owner.so_is_open_owner = 1; in alloc_init_open_stateowner()
4607 oo->oo_owner.so_seqid = open->op_seqid; in alloc_init_open_stateowner()
4608 oo->oo_flags = 0; in alloc_init_open_stateowner()
4610 oo->oo_flags |= NFS4_OO_CONFIRMED; in alloc_init_open_stateowner()
4611 oo->oo_time = 0; in alloc_init_open_stateowner()
4612 oo->oo_last_closed_stid = NULL; in alloc_init_open_stateowner()
4613 INIT_LIST_HEAD(&oo->oo_close_lru); in alloc_init_open_stateowner()
4617 hash_openowner(oo, clp, strhashval); in alloc_init_open_stateowner()
4618 ret = oo; in alloc_init_open_stateowner()
4620 nfs4_free_stateowner(&oo->oo_owner); in alloc_init_open_stateowner()
4630 struct nfs4_openowner *oo = open->op_openowner; in init_open_stateid() local
4640 spin_lock(&oo->oo_owner.so_client->cl_lock); in init_open_stateid()
4643 if (nfs4_openowner_unhashed(oo)) { in init_open_stateid()
4657 stp->st_stateowner = nfs4_get_stateowner(&oo->oo_owner); in init_open_stateid()
4663 list_add(&stp->st_perstateowner, &oo->oo_owner.so_stateids); in init_open_stateid()
4668 spin_unlock(&oo->oo_owner.so_client->cl_lock); in init_open_stateid()
4691 struct nfs4_openowner *oo = openowner(s->st_stateowner); in move_to_close_lru() local
4695 dprintk("NFSD: move_to_close_lru nfs4_openowner %p\n", oo); in move_to_close_lru()
4715 last = oo->oo_last_closed_stid; in move_to_close_lru()
4716 oo->oo_last_closed_stid = s; in move_to_close_lru()
4717 list_move_tail(&oo->oo_close_lru, &nn->close_lru); in move_to_close_lru()
4718 oo->oo_time = ktime_get_boottime_seconds(); in move_to_close_lru()
5061 struct nfs4_openowner *oo = NULL; in nfsd4_process_open1() local
5078 oo = find_openstateowner_str(strhashval, open, clp); in nfsd4_process_open1()
5079 open->op_openowner = oo; in nfsd4_process_open1()
5080 if (!oo) { in nfsd4_process_open1()
5083 if (!(oo->oo_flags & NFS4_OO_CONFIRMED)) { in nfsd4_process_open1()
5085 release_openowner(oo); in nfsd4_process_open1()
5089 status = nfsd4_check_seqid(cstate, &oo->oo_owner, open->op_seqid); in nfsd4_process_open1()
5094 oo = alloc_init_open_stateowner(strhashval, open, cstate); in nfsd4_process_open1()
5095 if (oo == NULL) in nfsd4_process_open1()
5097 open->op_openowner = oo; in nfsd4_process_open1()
5643 struct nfs4_openowner *oo = openowner(stp->st_stateowner); in nfs4_open_delegation() local
5649 cb_up = nfsd4_cb_channel_good(oo->oo_owner.so_client); in nfs4_open_delegation()
5667 if (!cb_up || !(oo->oo_flags & NFS4_OO_CONFIRMED)) in nfs4_open_delegation()
6150 struct nfs4_openowner *oo; in nfs4_laundromat() local
6198 oo = list_first_entry(&nn->close_lru, struct nfs4_openowner, in nfs4_laundromat()
6200 if (!state_expired(<, oo->oo_time)) in nfs4_laundromat()
6202 list_del_init(&oo->oo_close_lru); in nfs4_laundromat()
6203 stp = oo->oo_last_closed_stid; in nfs4_laundromat()
6204 oo->oo_last_closed_stid = NULL; in nfs4_laundromat()
6881 struct nfs4_openowner *oo; in nfs4_preprocess_confirmed_seqid_op() local
6888 oo = openowner(stp->st_stateowner); in nfs4_preprocess_confirmed_seqid_op()
6889 if (!(oo->oo_flags & NFS4_OO_CONFIRMED)) { in nfs4_preprocess_confirmed_seqid_op()
6904 struct nfs4_openowner *oo; in nfsd4_open_confirm() local
6920 oo = openowner(stp->st_stateowner); in nfsd4_open_confirm()
6922 if (oo->oo_flags & NFS4_OO_CONFIRMED) { in nfsd4_open_confirm()
6926 oo->oo_flags |= NFS4_OO_CONFIRMED; in nfsd4_open_confirm()
6930 nfsd4_client_record_create(oo->oo_owner.so_client); in nfsd4_open_confirm()
7403 struct nfs4_openowner *oo = openowner(ost->st_stateowner); in find_or_create_lock_stateid() local
7404 struct nfs4_client *clp = oo->oo_owner.so_client; in find_or_create_lock_stateid()
7455 struct nfs4_openowner *oo = openowner(ost->st_stateowner); in lookup_or_create_lock_state() local
7456 struct nfs4_client *cl = oo->oo_owner.so_client; in lookup_or_create_lock_state()