Lines Matching refs:setno

110 extern mddb_set_t	*mddb_setenter(set_t setno, int flag, int *errorcodep);
247 md_set_setstatus(set_t setno, int bits)
249 ASSERT(setno != MD_SET_BAD && setno < MD_MAXSETS);
252 md_set[setno].s_status |= bits;
257 md_clr_setstatus(set_t setno, int bits)
259 ASSERT(setno != MD_SET_BAD && setno < MD_MAXSETS);
262 md_set[setno].s_status &= ~bits;
267 md_get_setstatus(set_t setno)
271 ASSERT(setno != MD_SET_BAD && setno < MD_MAXSETS);
274 result = md_set[setno].s_status;
1498 set_t setno;
1517 setno = mddb_getsetnum(recid);
1518 if (md_get_setstatus(setno) & MD_SET_TOOFEW) {
1537 set_t setno;
1558 * use the first one to get setno
1560 setno = mddb_getsetnum(*recids);
1561 if (md_get_setstatus(setno) & MD_SET_TOOFEW) {
1580 set_t setno;
1599 setno = mddb_getsetnum(recid);
1600 if (md_get_setstatus(setno) & MD_SET_TOOFEW) {
1625 md_holdset_enter(set_t setno)
1628 while (md_set[setno].s_status & MD_SET_HOLD)
1630 md_set[setno].s_status |= MD_SET_HOLD;
1635 md_holdset_exit(set_t setno)
1638 md_set[setno].s_status &= ~MD_SET_HOLD;
1651 md_holdset_testandenter(set_t setno)
1654 if (md_set[setno].s_status & MD_SET_HOLD) {
1658 md_set[setno].s_status |= MD_SET_HOLD;
1664 md_haltsnarf_enter(set_t setno)
1667 while (md_set[setno].s_status & MD_SET_SNARFING)
1670 md_set[setno].s_status |= MD_SET_SNARFING;
1675 md_haltsnarf_exit(set_t setno)
1678 md_set[setno].s_status &= ~MD_SET_SNARFING;
1684 md_haltsnarf_wait(set_t setno)
1687 while (md_set[setno].s_status & MD_SET_SNARFING)
1696 md_halt_set(set_t setno, enum md_haltcmd cmd)
1700 if (md_set[setno].s_un == NULL || md_set[setno].s_ui == NULL) {
1708 if ((*(md_ops[i]->md_halt))(MD_HALT_CLOSE, setno)) {
1713 (MD_HALT_OPEN, setno);
1722 if ((*(md_ops[i]->md_halt))(MD_HALT_CHECK, setno)) {
1727 (MD_HALT_OPEN, setno);
1738 err = (*(md_ops[i]->md_halt))(MD_HALT_DOIT, setno);
1748 md_unload_namespace(setno, NM_DEVID);
1749 md_unload_namespace(setno, 0L);
1750 md_clr_setstatus(setno, MD_SET_SNARFED);
2030 set_t setno = MD_UN2SET(un);
2032 if ((md_get_setstatus(setno) & MD_SET_STALE) &&
2163 md_loadsubmod(set_t setno, char *name, int drvrid)
2184 if (md_get_setstatus(setno) & MD_SET_STALE)
2186 drvrid = md_setshared_name(setno, name, 0L);
2233 set_t setno = driver->md_setno;
2237 if (setno >= md_nsets)
2248 if (md_get_setstatus(setno) & MD_SET_STALE) {
2260 md_haltsnarf_enter(setno);
2267 (md_getshared_key(setno, name) == MD_KEYBAD)) {
2268 if (md_setshared_name(setno, name, 0L)
2274 md_haltsnarf_exit(setno);
2285 drvid = ((db_notrequired) ? 0 : (int)md_getshared_key(setno, name));
2288 modindex = md_loadsubmod(setno, name, drvid);
2293 (*(md_ops[modindex]->md_snarf))(MD_SNARF_DOIT, setno);
2295 md_haltsnarf_exit(setno);
2298 err: md_haltsnarf_exit(setno);
2362 md_rem_link(set_t setno, int id, krwlock_t *rw, md_link_t **head)
2372 if ((next->ln_setno == setno) && (next->ln_id == id)) {
2562 obj2devname(uint32_t tag, uint_t setno, md_dev64_t dev)
2584 if (setno == 0) {
2588 setname = mddb_getsetname(setno);
2603 mddb_getsetname(setno));
2721 do_mdnotify(char *se_subclass, uint32_t tag, set_t setno, md_dev64_t devid)
2735 NOTIFY_MD(md_tag, setno, devid, ev_type);
2746 set_t setno,
2757 do_mdnotify(se_subclass, tag, setno, devid);
2780 err = nvlist_add_uint32(attr_list, SVM_SET_NO, (uint32_t)setno);
2792 devname = obj2devname(tag, setno, devid);
2836 set_t setno = MD_MIN2SET(mnum);
2854 if (! (md_get_setstatus(setno) & MD_SET_SNARFING)) {
2863 ui->ui_link.ln_setno = setno;
2922 if (md_get_setstatus(sv[0].setno) & MD_SET_MNSET)
2929 (void) md_remdevname(sv[i].setno, s, sv[i].key);
2989 set_t setno = MD_MIN2SET(mnum);
3003 if (setno == MD_LOCAL_SET) {
3008 mddb_getsetname(setno), (unsigned)unit);
3016 side = mddb_getsidenum(setno);
3018 if (md_getdevname(setno, side, MD_KEYWILD,
3031 if (setno == MD_LOCAL_SET) {
3037 mddb_getsetname(setno), metaname);
3051 set_t setno,
3067 err = md_getdevname_common(setno, mddb_getsidenum(setno),
3138 set_t setno = MD_MIN2SET(mnum);
3143 if (setno != MD_LOCAL_SET) {
3148 (void) sprintf(buf, "%u", setno);
3398 set_t setno;
3414 setno = MD_MIN2SET(reqp->mnum);
3420 if ((setno == MD_LOCAL_SET) && root_is_svm) {
3533 md_inc_iocount(set_t setno)
3537 if (setno == 0)
3540 mutex_enter(&md_set_io[setno].md_io_mx);
3541 if (!(md_set_io[setno].io_state & MD_SET_ACTIVE)) {
3546 ASSERT(md_set_io[setno].io_cnt >= 0);
3547 md_set_io[setno].io_cnt++;
3549 out: mutex_exit(&md_set_io[setno].md_io_mx);
3554 md_inc_iocount_noblock(set_t setno)
3557 if (setno == 0)
3560 mutex_enter(&md_set_io[setno].md_io_mx);
3561 md_set_io[setno].io_cnt++;
3562 mutex_exit(&md_set_io[setno].md_io_mx);
3565 md_dec_iocount(set_t setno)
3568 if (setno == 0)
3571 mutex_enter(&md_set_io[setno].md_io_mx);
3572 md_set_io[setno].io_cnt--;
3573 ASSERT(md_set_io[setno].io_cnt >= 0);
3574 if ((md_set_io[setno].io_state & MD_SET_RELEASE) &&
3575 (md_set_io[setno].io_cnt == 0))
3576 cv_broadcast(&md_set_io[setno].md_io_cv);
3577 mutex_exit(&md_set_io[setno].md_io_mx);
3581 md_isblock_setio(set_t setno)
3585 if (setno == 0)
3588 mutex_enter(&md_set_io[setno].md_io_mx);
3589 if (md_set_io[setno].io_state & MD_SET_RELEASE)
3592 mutex_exit(&md_set_io[setno].md_io_mx);
3597 md_block_setio(set_t setno)
3601 if (setno == 0)
3604 mutex_enter(&md_set_io[setno].md_io_mx);
3605 md_set_io[setno].io_state = MD_SET_RELEASE;
3607 while (md_set_io[setno].io_cnt > 0) {
3608 cv_wait(&md_set_io[setno].md_io_cv,
3609 &md_set_io[setno].md_io_mx);
3614 ASSERT(md_set_io[setno].io_cnt == 0);
3615 mutex_exit(&md_set_io[setno].md_io_mx);
3621 md_clearblock_setio(set_t setno)
3623 if (setno == 0)
3626 mutex_enter(&md_set_io[setno].md_io_mx);
3627 md_set_io[setno].io_state = MD_SET_ACTIVE;
3628 mutex_exit(&md_set_io[setno].md_io_mx);
3632 md_unblock_setio(set_t setno)
3634 if (setno == 0)
3637 mutex_enter(&md_set_io[setno].md_io_mx);
3639 if (md_set_io[setno].io_cnt != 0) {
3641 setno, md_set_io[setno].io_cnt);
3645 md_set_io[setno].io_state = MD_SET_ACTIVE;
3646 md_set_io[setno].io_cnt = 0;
3647 mutex_exit(&md_set_io[setno].md_io_mx);
3664 md_tas_block_setio(set_t setno)
3668 if (setno == 0)
3671 mutex_enter(&md_set_io[setno].md_io_mx);
3672 md_set_io[setno].io_state = MD_SET_RELEASE;
3674 if (md_set_io[setno].io_cnt > 0) {
3675 md_set_io[setno].io_state = MD_SET_ACTIVE;
3681 mutex_exit(&md_set_io[setno].md_io_mx);
3690 set_t setno;
3694 setno = MD_MIN2SET(mnum);
3696 if (setno == 0) {
3710 if (md_set_io[setno].io_cnt > 0)
3711 md_dec_iocount(setno);
3718 if (md_set_io[setno].io_state & MD_SET_RELEASE) {
3884 md_vtoc_to_efi_record(mddb_recid_t vtoc_recid, set_t setno)
3896 MD_CRO_32BIT, setno);
3932 set_t setno,
3960 kmsg->kmsg_setno = setno;
4250 md_rem_hspname(set_t setno, mdkey_t n_key)
4257 if (md_get_setstatus(setno) & MD_SET_MNSET)
4263 (void) md_remdevname(setno, s, n_key);
4271 set_t setno = MD_MIN2SET(selfid);
4282 if ((nh = get_first_record(setno, 0, NM_NOTSHARED)) == NULL) {
4286 if ((n = (struct nm_name *)lookup_entry(nh, setno, MD_SIDEWILD,
4293 if (md_get_setstatus(setno) & MD_SET_MNSET)
4299 (void) md_remdevname(setno, s, key);
4305 md_upd_set_unnext(set_t setno, unit_t un)
4307 if (un < md_set[setno].s_un_next) {
4308 md_set[setno].s_un_next = un;
4313 find_hot_spare_pool(set_t setno, int hsp_id)
4317 hsp = (hot_spare_pool_t *)md_set[setno].s_hsp;
4335 md_create_taskq(set_t setno, minor_t mnum)
4340 (void) snprintf(name, 20, "%d/d%d", setno, MD_MIN2UNIT(mnum));