Lines Matching refs:oo
249 struct nfs4_openowner *oo; in find_openstateowner_str() local
252 oo = find_openstateowner_str_locked(hashval, open, clp); in find_openstateowner_str()
254 return oo; in find_openstateowner_str()
1132 struct nfs4_openowner *oo = openowner(stp->st_openstp->st_stateowner); in unhash_lock_stateid() local
1134 lockdep_assert_held(&oo->oo_owner.so_client->cl_lock); in unhash_lock_stateid()
1143 struct nfs4_openowner *oo = openowner(stp->st_openstp->st_stateowner); in release_lock_stateid() local
1146 spin_lock(&oo->oo_owner.so_client->cl_lock); in release_lock_stateid()
1148 spin_unlock(&oo->oo_owner.so_client->cl_lock); in release_lock_stateid()
1244 static void unhash_openowner_locked(struct nfs4_openowner *oo) in unhash_openowner_locked() argument
1246 struct nfs4_client *clp = oo->oo_owner.so_client; in unhash_openowner_locked()
1250 list_del_init(&oo->oo_owner.so_strhash); in unhash_openowner_locked()
1251 list_del_init(&oo->oo_perclient); in unhash_openowner_locked()
1254 static void release_last_closed_stateid(struct nfs4_openowner *oo) in release_last_closed_stateid() argument
1256 struct nfsd_net *nn = net_generic(oo->oo_owner.so_client->net, in release_last_closed_stateid()
1261 s = oo->oo_last_closed_stid; in release_last_closed_stateid()
1263 list_del_init(&oo->oo_close_lru); in release_last_closed_stateid()
1264 oo->oo_last_closed_stid = NULL; in release_last_closed_stateid()
1271 static void release_openowner(struct nfs4_openowner *oo) in release_openowner() argument
1274 struct nfs4_client *clp = oo->oo_owner.so_client; in release_openowner()
1280 unhash_openowner_locked(oo); in release_openowner()
1281 while (!list_empty(&oo->oo_owner.so_stateids)) { in release_openowner()
1282 stp = list_first_entry(&oo->oo_owner.so_stateids, in release_openowner()
1289 release_last_closed_stateid(oo); in release_openowner()
1290 nfs4_put_stateowner(&oo->oo_owner); in release_openowner()
1780 struct nfs4_openowner *oo; in __destroy_client() local
1805 oo = list_entry(clp->cl_openowners.next, struct nfs4_openowner, oo_perclient); in __destroy_client()
1806 nfs4_get_stateowner(&oo->oo_owner); in __destroy_client()
1807 release_openowner(oo); in __destroy_client()
3338 static void hash_openowner(struct nfs4_openowner *oo, struct nfs4_client *clp, unsigned int strhash… in hash_openowner() argument
3342 list_add(&oo->oo_owner.so_strhash, in hash_openowner()
3344 list_add(&oo->oo_perclient, &clp->cl_openowners); in hash_openowner()
3354 struct nfs4_openowner *oo = openowner(so); in nfs4_free_openowner() local
3356 kmem_cache_free(openowner_slab, oo); in nfs4_free_openowner()
3369 struct nfs4_openowner *oo, *ret; in alloc_init_open_stateowner() local
3371 oo = alloc_stateowner(openowner_slab, &open->op_owner, clp); in alloc_init_open_stateowner()
3372 if (!oo) in alloc_init_open_stateowner()
3374 oo->oo_owner.so_ops = &openowner_ops; in alloc_init_open_stateowner()
3375 oo->oo_owner.so_is_open_owner = 1; in alloc_init_open_stateowner()
3376 oo->oo_owner.so_seqid = open->op_seqid; in alloc_init_open_stateowner()
3377 oo->oo_flags = 0; in alloc_init_open_stateowner()
3379 oo->oo_flags |= NFS4_OO_CONFIRMED; in alloc_init_open_stateowner()
3380 oo->oo_time = 0; in alloc_init_open_stateowner()
3381 oo->oo_last_closed_stid = NULL; in alloc_init_open_stateowner()
3382 INIT_LIST_HEAD(&oo->oo_close_lru); in alloc_init_open_stateowner()
3386 hash_openowner(oo, clp, strhashval); in alloc_init_open_stateowner()
3387 ret = oo; in alloc_init_open_stateowner()
3389 nfs4_free_openowner(&oo->oo_owner); in alloc_init_open_stateowner()
3395 struct nfs4_openowner *oo = open->op_openowner; in init_open_stateid() local
3400 stp->st_stateowner = nfs4_get_stateowner(&oo->oo_owner); in init_open_stateid()
3407 spin_lock(&oo->oo_owner.so_client->cl_lock); in init_open_stateid()
3408 list_add(&stp->st_perstateowner, &oo->oo_owner.so_stateids); in init_open_stateid()
3412 spin_unlock(&oo->oo_owner.so_client->cl_lock); in init_open_stateid()
3424 struct nfs4_openowner *oo = openowner(s->st_stateowner); in move_to_close_lru() local
3428 dprintk("NFSD: move_to_close_lru nfs4_openowner %p\n", oo); in move_to_close_lru()
3448 last = oo->oo_last_closed_stid; in move_to_close_lru()
3449 oo->oo_last_closed_stid = s; in move_to_close_lru()
3450 list_move_tail(&oo->oo_close_lru, &nn->close_lru); in move_to_close_lru()
3451 oo->oo_time = get_seconds(); in move_to_close_lru()
3709 struct nfs4_openowner *oo = NULL; in nfsd4_process_open1() local
3728 oo = find_openstateowner_str(strhashval, open, clp); in nfsd4_process_open1()
3729 open->op_openowner = oo; in nfsd4_process_open1()
3730 if (!oo) { in nfsd4_process_open1()
3733 if (!(oo->oo_flags & NFS4_OO_CONFIRMED)) { in nfsd4_process_open1()
3735 release_openowner(oo); in nfsd4_process_open1()
3739 status = nfsd4_check_seqid(cstate, &oo->oo_owner, open->op_seqid); in nfsd4_process_open1()
3744 oo = alloc_init_open_stateowner(strhashval, open, cstate); in nfsd4_process_open1()
3745 if (oo == NULL) in nfsd4_process_open1()
3747 open->op_openowner = oo; in nfsd4_process_open1()
3824 struct nfs4_openowner *oo = open->op_openowner; in nfsd4_find_existing_open() local
3831 if (local->st_stateowner == &oo->oo_owner) { in nfsd4_find_existing_open()
4143 struct nfs4_openowner *oo = openowner(stp->st_stateowner); in nfs4_open_delegation() local
4148 cb_up = nfsd4_cb_channel_good(oo->oo_owner.so_client); in nfs4_open_delegation()
4165 if (!cb_up || !(oo->oo_flags & NFS4_OO_CONFIRMED)) in nfs4_open_delegation()
4406 struct nfs4_openowner *oo; in nfs4_laundromat() local
4462 oo = list_first_entry(&nn->close_lru, struct nfs4_openowner, in nfs4_laundromat()
4464 if (time_after((unsigned long)oo->oo_time, in nfs4_laundromat()
4466 t = oo->oo_time - cutoff; in nfs4_laundromat()
4470 list_del_init(&oo->oo_close_lru); in nfs4_laundromat()
4471 stp = oo->oo_last_closed_stid; in nfs4_laundromat()
4472 oo->oo_last_closed_stid = NULL; in nfs4_laundromat()
4905 struct nfs4_openowner *oo; in nfs4_preprocess_confirmed_seqid_op() local
4912 oo = openowner(stp->st_stateowner); in nfs4_preprocess_confirmed_seqid_op()
4913 if (!(oo->oo_flags & NFS4_OO_CONFIRMED)) { in nfs4_preprocess_confirmed_seqid_op()
4927 struct nfs4_openowner *oo; in nfsd4_open_confirm() local
4943 oo = openowner(stp->st_stateowner); in nfsd4_open_confirm()
4945 if (oo->oo_flags & NFS4_OO_CONFIRMED) { in nfsd4_open_confirm()
4949 oo->oo_flags |= NFS4_OO_CONFIRMED; in nfsd4_open_confirm()
4956 nfsd4_client_record_create(oo->oo_owner.so_client); in nfsd4_open_confirm()
5348 struct nfs4_openowner *oo = openowner(ost->st_stateowner); in find_or_create_lock_stateid() local
5349 struct nfs4_client *clp = oo->oo_owner.so_client; in find_or_create_lock_stateid()
5401 struct nfs4_openowner *oo = openowner(ost->st_stateowner); in lookup_or_create_lock_state() local
5402 struct nfs4_client *cl = oo->oo_owner.so_client; in lookup_or_create_lock_state()