Lines Matching defs:gcgrp

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