Lines Matching refs:gcgrp

448 gc_create(struct rtsa_s *rp, tsol_gcgrp_t *gcgrp, boolean_t *gcgrp_xtrarefp)  in gc_create()  argument
455 rw_enter(&gcgrp->gcgrp_rwlock, RW_WRITER); in gc_create()
457 rw_exit(&gcgrp->gcgrp_rwlock); in gc_create()
461 for (gc = gcgrp->gcgrp_head; gc != NULL; gc = gc->gc_next) { in gc_create()
463 ASSERT(gc->gc_grp == gcgrp); in gc_create()
472 tsol_gc_t *, gc, tsol_gcgrp_t *, gcgrp); in gc_create()
473 rw_exit(&gcgrp->gcgrp_rwlock); in gc_create()
480 if (gcgrp->gcgrp_head == NULL) { in gc_create()
481 gcgrp->gcgrp_head = gcgrp->gcgrp_tail = gc; in gc_create()
483 gcgrp->gcgrp_tail->gc_next = gc; in gc_create()
484 gc->gc_prev = gcgrp->gcgrp_tail; in gc_create()
485 gcgrp->gcgrp_tail = gc; in gc_create()
487 gcgrp->gcgrp_count++; in gc_create()
488 ASSERT(gcgrp->gcgrp_count != 0); in gc_create()
491 gc->gc_grp = gcgrp; in gc_create()
498 tsol_gcgrp_t *, gcgrp); in gc_create()
502 rw_exit(&gcgrp->gcgrp_rwlock); in gc_create()
510 tsol_gcgrp_t *gcgrp = gc->gc_grp; in gc_inactive() local
512 ASSERT(gcgrp != NULL); in gc_inactive()
513 ASSERT(RW_WRITE_HELD(&gcgrp->gcgrp_rwlock)); in gc_inactive()
519 gcgrp->gcgrp_head = gc->gc_next; in gc_inactive()
523 gcgrp->gcgrp_tail = gc->gc_prev; in gc_inactive()
524 ASSERT(gcgrp->gcgrp_count > 0); in gc_inactive()
525 gcgrp->gcgrp_count--; in gc_inactive()
528 rw_exit(&gcgrp->gcgrp_rwlock); in gc_inactive()
532 tsol_gc_t *, gc, tsol_gcgrp_t *, gcgrp); in gc_inactive()
534 GCGRP_REFRELE(gcgrp); in gc_inactive()
548 tsol_gcgrp_t *gcgrp = NULL; in gcgrp_lookup() local
557 (mod_hash_val_t *)&gcgrp) == 0) { in gcgrp_lookup()
558 gcgrp->gcgrp_refcnt++; in gcgrp_lookup()
559 ASSERT(gcgrp->gcgrp_refcnt != 0); in gcgrp_lookup()
562 "found gcgrp(1) in hash(2)", tsol_gcgrp_t *, gcgrp, in gcgrp_lookup()
566 gcgrp = kmem_zalloc(sizeof (*gcgrp), KM_NOSLEEP); in gcgrp_lookup()
567 if (gcgrp != NULL) { in gcgrp_lookup()
568 gcgrp->gcgrp_refcnt = 1; in gcgrp_lookup()
569 rw_init(&gcgrp->gcgrp_rwlock, NULL, RW_DEFAULT, NULL); in gcgrp_lookup()
570 bcopy(ga, &gcgrp->gcgrp_addr, sizeof (*ga)); in gcgrp_lookup()
573 (mod_hash_key_t)&gcgrp->gcgrp_addr, in gcgrp_lookup()
574 (mod_hash_val_t)gcgrp) != 0) { in gcgrp_lookup()
576 kmem_free(gcgrp, sizeof (*gcgrp)); in gcgrp_lookup()
582 tsol_gcgrp_t *, gcgrp, mod_hash_t *, hashp); in gcgrp_lookup()
586 return (gcgrp); in gcgrp_lookup()
590 gcgrp_inactive(tsol_gcgrp_t *gcgrp) in gcgrp_inactive() argument
596 ASSERT(gcgrp != NULL && gcgrp->gcgrp_refcnt == 0); in gcgrp_inactive()
597 ASSERT(gcgrp->gcgrp_head == NULL && gcgrp->gcgrp_count == 0); in gcgrp_inactive()
599 ga = &gcgrp->gcgrp_addr; in gcgrp_inactive()
604 (mod_hash_val_t *)&gcgrp); in gcgrp_inactive()
605 rw_destroy(&gcgrp->gcgrp_rwlock); in gcgrp_inactive()
609 tsol_gcgrp_t *, gcgrp, mod_hash_t *, hashp); in gcgrp_inactive()
611 kmem_free(gcgrp, sizeof (*gcgrp)); in gcgrp_inactive()
1240 tsol_gcgrp_t *gcgrp = NULL; in tsol_ire_match_gwattr() local
1284 gcgrp = gc->gc_grp; in tsol_ire_match_gwattr()
1285 ASSERT(gcgrp != NULL); in tsol_ire_match_gwattr()
1286 rw_enter(&gcgrp->gcgrp_rwlock, RW_READER); in tsol_ire_match_gwattr()
1287 GCGRP_REFHOLD(gcgrp); in tsol_ire_match_gwattr()
1305 if (gcgrp != NULL) { in tsol_ire_match_gwattr()
1306 tsol_gcgrp_addr_t *ga = &gcgrp->gcgrp_addr; in tsol_ire_match_gwattr()
1379 ASSERT(gcgrp != NULL); in tsol_ire_match_gwattr()
1433 if (gcgrp != NULL) { in tsol_ire_match_gwattr()
1434 rw_exit(&gcgrp->gcgrp_rwlock); in tsol_ire_match_gwattr()
1435 GCGRP_REFRELE(gcgrp); in tsol_ire_match_gwattr()
1858 tsol_gcgrp_t *gcgrp = NULL; in tsol_ire_init_gwattr() local
1894 gcgrp = gc->gc_grp; in tsol_ire_init_gwattr()
1895 ASSERT(gcgrp != NULL); in tsol_ire_init_gwattr()
1903 if (gcgrp != NULL) { in tsol_ire_init_gwattr()
1904 tsol_gcgrp_addr_t *ga = &gcgrp->gcgrp_addr; in tsol_ire_init_gwattr()