Lines Matching refs:oo
563 struct nfs4_openowner *oo;
566 oo = find_openstateowner_str_locked(hashval, open, clp);
568 return oo;
1627 static void unhash_openowner_locked(struct nfs4_openowner *oo)
1629 struct nfs4_client *clp = oo->oo_owner.so_client;
1633 list_del_init(&oo->oo_owner.so_strhash);
1634 list_del_init(&oo->oo_perclient);
1637 static void release_last_closed_stateid(struct nfs4_openowner *oo)
1639 struct nfsd_net *nn = net_generic(oo->oo_owner.so_client->net,
1644 s = oo->oo_last_closed_stid;
1646 list_del_init(&oo->oo_close_lru);
1647 oo->oo_last_closed_stid = NULL;
1654 static void release_openowner(struct nfs4_openowner *oo)
1657 struct nfs4_client *clp = oo->oo_owner.so_client;
1663 unhash_openowner_locked(oo);
1664 while (!list_empty(&oo->oo_owner.so_stateids)) {
1665 stp = list_first_entry(&oo->oo_owner.so_stateids,
1672 release_last_closed_stateid(oo);
1673 nfs4_put_stateowner(&oo->oo_owner);
2221 struct nfs4_openowner *oo;
2244 oo = list_entry(clp->cl_openowners.next, struct nfs4_openowner, oo_perclient);
2245 nfs4_get_stateowner(&oo->oo_owner);
2246 release_openowner(oo);
2601 static void nfs4_show_owner(struct seq_file *s, struct nfs4_stateowner *oo)
2604 seq_quote_mem(s, oo->so_owner.data, oo->so_owner.len);
2618 struct nfs4_stateowner *oo;
2624 oo = ols->st_stateowner;
2650 nfs4_show_owner(s, oo);
2662 struct nfs4_stateowner *oo;
2665 oo = ols->st_stateowner;
2688 nfs4_show_owner(s, oo);
3235 struct nfs4_openowner *oo;
3237 list_for_each_entry(oo, &clp->cl_openowners, oo_perclient) {
3238 if (!list_empty(&oo->oo_owner.so_stateids))
4493 static void hash_openowner(struct nfs4_openowner *oo, struct nfs4_client *clp, unsigned int strhashval)
4497 list_add(&oo->oo_owner.so_strhash,
4499 list_add(&oo->oo_perclient, &clp->cl_openowners);
4509 struct nfs4_openowner *oo = openowner(so);
4511 kmem_cache_free(openowner_slab, oo);
4523 struct nfs4_openowner *oo = open->op_openowner;
4531 if (local->st_stateowner != &oo->oo_owner)
4594 struct nfs4_openowner *oo, *ret;
4596 oo = alloc_stateowner(openowner_slab, &open->op_owner, clp);
4597 if (!oo)
4599 oo->oo_owner.so_ops = &openowner_ops;
4600 oo->oo_owner.so_is_open_owner = 1;
4601 oo->oo_owner.so_seqid = open->op_seqid;
4602 oo->oo_flags = 0;
4604 oo->oo_flags |= NFS4_OO_CONFIRMED;
4605 oo->oo_time = 0;
4606 oo->oo_last_closed_stid = NULL;
4607 INIT_LIST_HEAD(&oo->oo_close_lru);
4611 hash_openowner(oo, clp, strhashval);
4612 ret = oo;
4614 nfs4_free_stateowner(&oo->oo_owner);
4624 struct nfs4_openowner *oo = open->op_openowner;
4634 spin_lock(&oo->oo_owner.so_client->cl_lock);
4645 stp->st_stateowner = nfs4_get_stateowner(&oo->oo_owner);
4651 list_add(&stp->st_perstateowner, &oo->oo_owner.so_stateids);
4656 spin_unlock(&oo->oo_owner.so_client->cl_lock);
4679 struct nfs4_openowner *oo = openowner(s->st_stateowner);
4683 dprintk("NFSD: move_to_close_lru nfs4_openowner %p\n", oo);
4703 last = oo->oo_last_closed_stid;
4704 oo->oo_last_closed_stid = s;
4705 list_move_tail(&oo->oo_close_lru, &nn->close_lru);
4706 oo->oo_time = ktime_get_boottime_seconds();
5049 struct nfs4_openowner *oo = NULL;
5066 oo = find_openstateowner_str(strhashval, open, clp);
5067 open->op_openowner = oo;
5068 if (!oo) {
5071 if (!(oo->oo_flags & NFS4_OO_CONFIRMED)) {
5073 release_openowner(oo);
5077 status = nfsd4_check_seqid(cstate, &oo->oo_owner, open->op_seqid);
5082 oo = alloc_init_open_stateowner(strhashval, open, cstate);
5083 if (oo == NULL)
5085 open->op_openowner = oo;
5631 struct nfs4_openowner *oo = openowner(stp->st_stateowner);
5637 cb_up = nfsd4_cb_channel_good(oo->oo_owner.so_client);
5655 if (!cb_up || !(oo->oo_flags & NFS4_OO_CONFIRMED))
6133 struct nfs4_openowner *oo;
6181 oo = list_first_entry(&nn->close_lru, struct nfs4_openowner,
6183 if (!state_expired(<, oo->oo_time))
6185 list_del_init(&oo->oo_close_lru);
6186 stp = oo->oo_last_closed_stid;
6187 oo->oo_last_closed_stid = NULL;
6864 struct nfs4_openowner *oo;
6871 oo = openowner(stp->st_stateowner);
6872 if (!(oo->oo_flags & NFS4_OO_CONFIRMED)) {
6887 struct nfs4_openowner *oo;
6903 oo = openowner(stp->st_stateowner);
6905 if (oo->oo_flags & NFS4_OO_CONFIRMED) {
6909 oo->oo_flags |= NFS4_OO_CONFIRMED;
6913 nfsd4_client_record_create(oo->oo_owner.so_client);
7386 struct nfs4_openowner *oo = openowner(ost->st_stateowner);
7387 struct nfs4_client *clp = oo->oo_owner.so_client;
7438 struct nfs4_openowner *oo = openowner(ost->st_stateowner);
7439 struct nfs4_client *cl = oo->oo_owner.so_client;