Lines Matching refs:oo
392 struct nfs4_openowner *oo;
395 oo = find_openstateowner_str_locked(hashval, open, clp);
397 return oo;
1508 static void unhash_openowner_locked(struct nfs4_openowner *oo)
1510 struct nfs4_client *clp = oo->oo_owner.so_client;
1514 list_del_init(&oo->oo_owner.so_strhash);
1515 list_del_init(&oo->oo_perclient);
1518 static void release_last_closed_stateid(struct nfs4_openowner *oo)
1520 struct nfsd_net *nn = net_generic(oo->oo_owner.so_client->net,
1525 s = oo->oo_last_closed_stid;
1527 list_del_init(&oo->oo_close_lru);
1528 oo->oo_last_closed_stid = NULL;
1535 static void release_openowner(struct nfs4_openowner *oo)
1538 struct nfs4_client *clp = oo->oo_owner.so_client;
1544 unhash_openowner_locked(oo);
1545 while (!list_empty(&oo->oo_owner.so_stateids)) {
1546 stp = list_first_entry(&oo->oo_owner.so_stateids,
1553 release_last_closed_stateid(oo);
1554 nfs4_put_stateowner(&oo->oo_owner);
2091 struct nfs4_openowner *oo;
2114 oo = list_entry(clp->cl_openowners.next, struct nfs4_openowner, oo_perclient);
2115 nfs4_get_stateowner(&oo->oo_owner);
2116 release_openowner(oo);
2451 static void nfs4_show_owner(struct seq_file *s, struct nfs4_stateowner *oo)
2454 seq_quote_mem(s, oo->so_owner.data, oo->so_owner.len);
2468 struct nfs4_stateowner *oo;
2474 oo = ols->st_stateowner;
2500 nfs4_show_owner(s, oo);
2512 struct nfs4_stateowner *oo;
2515 oo = ols->st_stateowner;
2538 nfs4_show_owner(s, oo);
3041 struct nfs4_openowner *oo;
3043 list_for_each_entry(oo, &clp->cl_openowners, oo_perclient) {
3044 if (!list_empty(&oo->oo_owner.so_stateids))
4231 static void hash_openowner(struct nfs4_openowner *oo, struct nfs4_client *clp, unsigned int strhashval)
4235 list_add(&oo->oo_owner.so_strhash,
4237 list_add(&oo->oo_perclient, &clp->cl_openowners);
4247 struct nfs4_openowner *oo = openowner(so);
4249 kmem_cache_free(openowner_slab, oo);
4261 struct nfs4_openowner *oo = open->op_openowner;
4269 if (local->st_stateowner != &oo->oo_owner)
4332 struct nfs4_openowner *oo, *ret;
4334 oo = alloc_stateowner(openowner_slab, &open->op_owner, clp);
4335 if (!oo)
4337 oo->oo_owner.so_ops = &openowner_ops;
4338 oo->oo_owner.so_is_open_owner = 1;
4339 oo->oo_owner.so_seqid = open->op_seqid;
4340 oo->oo_flags = 0;
4342 oo->oo_flags |= NFS4_OO_CONFIRMED;
4343 oo->oo_time = 0;
4344 oo->oo_last_closed_stid = NULL;
4345 INIT_LIST_HEAD(&oo->oo_close_lru);
4349 hash_openowner(oo, clp, strhashval);
4350 ret = oo;
4352 nfs4_free_stateowner(&oo->oo_owner);
4362 struct nfs4_openowner *oo = open->op_openowner;
4372 spin_lock(&oo->oo_owner.so_client->cl_lock);
4383 stp->st_stateowner = nfs4_get_stateowner(&oo->oo_owner);
4389 list_add(&stp->st_perstateowner, &oo->oo_owner.so_stateids);
4394 spin_unlock(&oo->oo_owner.so_client->cl_lock);
4417 struct nfs4_openowner *oo = openowner(s->st_stateowner);
4421 dprintk("NFSD: move_to_close_lru nfs4_openowner %p\n", oo);
4441 last = oo->oo_last_closed_stid;
4442 oo->oo_last_closed_stid = s;
4443 list_move_tail(&oo->oo_close_lru, &nn->close_lru);
4444 oo->oo_time = ktime_get_boottime_seconds();
4722 struct nfs4_openowner *oo = NULL;
4741 oo = find_openstateowner_str(strhashval, open, clp);
4742 open->op_openowner = oo;
4743 if (!oo) {
4746 if (!(oo->oo_flags & NFS4_OO_CONFIRMED)) {
4748 release_openowner(oo);
4752 status = nfsd4_check_seqid(cstate, &oo->oo_owner, open->op_seqid);
4757 oo = alloc_init_open_stateowner(strhashval, open, cstate);
4758 if (oo == NULL)
4760 open->op_openowner = oo;
5107 struct nfs4_openowner *oo = openowner(stp->st_stateowner);
5112 cb_up = nfsd4_cb_channel_good(oo->oo_owner.so_client);
5130 if (!cb_up || !(oo->oo_flags & NFS4_OO_CONFIRMED))
5400 struct nfs4_openowner *oo;
5469 oo = list_first_entry(&nn->close_lru, struct nfs4_openowner,
5471 if (oo->oo_time > cutoff) {
5472 t = oo->oo_time - cutoff;
5476 list_del_init(&oo->oo_close_lru);
5477 stp = oo->oo_last_closed_stid;
5478 oo->oo_last_closed_stid = NULL;
6092 struct nfs4_openowner *oo;
6099 oo = openowner(stp->st_stateowner);
6100 if (!(oo->oo_flags & NFS4_OO_CONFIRMED)) {
6115 struct nfs4_openowner *oo;
6131 oo = openowner(stp->st_stateowner);
6133 if (oo->oo_flags & NFS4_OO_CONFIRMED) {
6137 oo->oo_flags |= NFS4_OO_CONFIRMED;
6141 nfsd4_client_record_create(oo->oo_owner.so_client);
6593 struct nfs4_openowner *oo = openowner(ost->st_stateowner);
6594 struct nfs4_client *clp = oo->oo_owner.so_client;
6645 struct nfs4_openowner *oo = openowner(ost->st_stateowner);
6646 struct nfs4_client *cl = oo->oo_owner.so_client;