Lines Matching refs:zcs
340 zc_state_t *zcs; in zc_attach() local
362 VERIFY((zcs = ddi_get_soft_state(zc_soft_state, instance)) != NULL); in zc_attach()
363 zcs->zc_devinfo = dip; in zc_attach()
370 zc_state_t *zcs; in zc_detach() local
377 if ((zcs = ddi_get_soft_state(zc_soft_state, instance)) == NULL) in zc_detach()
380 if ((zcs->zc_state & ZC_STATE_MOPEN) || in zc_detach()
381 (zcs->zc_state & ZC_STATE_SOPEN)) { in zc_detach()
399 zc_state_t *zcs; in zc_getinfo() local
404 if ((zcs = ddi_get_soft_state(zc_soft_state, instance)) == NULL) in zc_getinfo()
406 *result = zcs->zc_devinfo; in zc_getinfo()
422 zc_state_t *zcs = qp->q_ptr; in zc_switch() local
423 ASSERT(zcs != NULL); in zc_switch()
425 if (qp == zcs->zc_manager_rdq) { in zc_switch()
426 return (zcs->zc_subsid_rdq); in zc_switch()
427 } else if (OTHERQ(qp) == zcs->zc_manager_rdq && in zc_switch()
428 zcs->zc_subsid_rdq != NULL) { in zc_switch()
429 return (OTHERQ(zcs->zc_subsid_rdq)); in zc_switch()
430 } else if (qp == zcs->zc_subsid_rdq) { in zc_switch()
431 return (zcs->zc_manager_rdq); in zc_switch()
432 } else if (OTHERQ(qp) == zcs->zc_subsid_rdq && in zc_switch()
433 zcs->zc_manager_rdq != NULL) { in zc_switch()
434 return (OTHERQ(zcs->zc_manager_rdq)); in zc_switch()
447 zc_state_t *zcs = qp->q_ptr; in zc_side() local
448 ASSERT(zcs != NULL); in zc_side()
450 if (qp == zcs->zc_manager_rdq || in zc_side()
451 OTHERQ(qp) == zcs->zc_manager_rdq) { in zc_side()
454 ASSERT(qp == zcs->zc_subsid_rdq || OTHERQ(qp) == zcs->zc_subsid_rdq); in zc_side()
459 zc_manager_open(zc_state_t *zcs, in zc_manager_open() argument
473 if ((zcs->zc_state & ZC_STATE_MOPEN) != 0) in zc_manager_open()
481 zcs->zc_state |= ZC_STATE_MOPEN; in zc_manager_open()
487 WR(rqp)->q_ptr = rqp->q_ptr = zcs; in zc_manager_open()
497 zcs->zc_manager_rdq = rqp; in zc_manager_open()
518 zc_subsidiary_open(zc_state_t *zcs, in zc_subsidiary_open() argument
535 if ((zcs->zc_state & ZC_STATE_SOPEN) != 0) { in zc_subsidiary_open()
536 ASSERT((rqp != NULL) && (WR(rqp)->q_ptr == zcs)); in zc_subsidiary_open()
546 minor = ddi_get_instance(zcs->zc_devinfo) << 1 | ZC_SUBSID_MINOR; in zc_subsidiary_open()
547 major = ddi_driver_major(zcs->zc_devinfo); in zc_subsidiary_open()
561 zcs->zc_state |= ZC_STATE_SOPEN; in zc_subsidiary_open()
567 WR(rqp)->q_ptr = rqp->q_ptr = zcs; in zc_subsidiary_open()
574 zcs->zc_subsid_rdq = rqp; in zc_subsidiary_open()
603 zc_state_t *zcs; in zc_open() local
608 if ((zcs = ddi_get_soft_state(zc_soft_state, instance)) == NULL) in zc_open()
613 ret = zc_manager_open(zcs, rqp, devp, oflag, sflag, credp); in zc_open()
616 ret = zc_subsidiary_open(zcs, rqp, devp, oflag, sflag, credp); in zc_open()
634 zc_state_t *zcs; in zc_close() local
638 zcs = (zc_state_t *)rqp->q_ptr; in zc_close()
640 if (rqp == zcs->zc_manager_rdq) { in zc_close()
643 zcs->zc_manager_rdq = NULL; in zc_close()
644 zcs->zc_state &= ~ZC_STATE_MOPEN; in zc_close()
650 if (zcs->zc_subsid_rdq != NULL) { in zc_close()
651 qenable(WR(zcs->zc_subsid_rdq)); in zc_close()
657 } else if (rqp == zcs->zc_subsid_rdq) { in zc_close()
660 zcs->zc_state &= ~ZC_STATE_SOPEN; in zc_close()
661 zcs->zc_subsid_rdq = NULL; in zc_close()
665 if (zcs->zc_manager_rdq != NULL) in zc_close()
666 putnext(zcs->zc_manager_rdq, bp); in zc_close()
677 if (zcs->zc_manager_rdq != NULL) in zc_close()
678 qenable(WR(zcs->zc_manager_rdq)); in zc_close()
687 major = ddi_driver_major(zcs->zc_devinfo); in zc_close()
688 minor = ddi_get_instance(zcs->zc_devinfo) << 1 | in zc_close()
752 zc_state_t *zcs; in zc_wput() local
766 zcs = (zc_state_t *)qp->q_ptr; in zc_wput()
767 if (zcs->zc_manager_rdq != NULL && qp == WR(zcs->zc_manager_rdq) && in zc_wput()
781 if (zcs->zc_subsid_vnode != NULL) { in zc_wput()
807 if (ZC_STATE_TO_SUBDEV(zcs) != in zc_wput()
820 zcs->zc_subsid_vnode = subsidiary_filep->f_vnode; in zc_wput()
821 VN_HOLD(zcs->zc_subsid_vnode); in zc_wput()
822 subsidiary_snodep = VTOCS(zcs->zc_subsid_vnode); in zc_wput()
839 if (zcs->zc_subsid_vnode == NULL) { in zc_wput()
866 if (zcs->zc_subsid_vnode->v_rdev != in zc_wput()
879 subsidiary_snodep = VTOCS(zcs->zc_subsid_vnode); in zc_wput()
883 VN_RELE(zcs->zc_subsid_vnode); in zc_wput()
884 zcs->zc_subsid_vnode = NULL; in zc_wput()
956 zc_state_t *zcs; in zc_rsrv() local
957 zcs = (zc_state_t *)qp->q_ptr; in zc_rsrv()
963 ASSERT(qp == zcs->zc_manager_rdq || qp == zcs->zc_subsid_rdq); in zc_rsrv()