Lines Matching refs:sc_parent
77 * => sc->sc_parent->dk_rawlock
78 * => sc->sc_parent->dk_openlock
87 * P sc->sc_parent->dk_openlock
88 * R sc->sc_parent->dk_rawlock
108 struct disk *sc_parent; /* $: parent disk */
109 /* P: sc_parent->dk_openmask */
110 /* P: sc_parent->dk_nwedges */
111 /* P: sc_parent->dk_wedges */
112 /* R: sc_parent->dk_rawopens */
113 /* R: sc_parent->dk_rawvp (also stable while wedge is open) */
230 struct disk *pdk = sc->sc_parent;
380 KASSERT(mutex_owned(&sc->sc_parent->dk_openlock));
485 sc->sc_parent = pdk;
681 strcmp(sc->sc_parent->dk_name, dkw->dkw_parent) == 0) {
771 sc->sc_parent->dk_name,
774 mutex_enter(&sc->sc_parent->dk_openlock);
775 sc->sc_parent->dk_nwedges--;
777 mutex_exit(&sc->sc_parent->dk_openlock);
905 strlcpy(dkw.dkw_parent, sc->sc_parent->dk_name,
968 if (strcmp(sc->sc_parent->dk_name, name) != 0)
1336 mutex_enter(&sc->sc_parent->dk_rawlock);
1364 out: mutex_exit(&sc->sc_parent->dk_rawlock);
1378 KASSERT(mutex_owned(&sc->sc_parent->dk_rawlock));
1380 if (sc->sc_parent->dk_rawopens == 0) {
1381 KASSERT(sc->sc_parent->dk_rawvp == NULL);
1395 sc->sc_parent->dk_rawvp = vp;
1405 KASSERT(sc->sc_parent->dk_rawopens < UINT_MAX);
1406 KASSERT(sc->sc_parent->dk_rawvp != NULL);
1408 mutex_enter(&sc->sc_parent->dk_openlock);
1409 LIST_FOREACH(nsc, &sc->sc_parent->dk_wedges, sc_plink) {
1415 mutex_exit(&sc->sc_parent->dk_openlock);
1418 sc->sc_parent->dk_rawopens++;
1428 KASSERT(mutex_owned(&sc->sc_parent->dk_rawlock));
1429 KASSERT(sc->sc_parent->dk_rawopens > 0);
1430 KASSERT(sc->sc_parent->dk_rawvp != NULL);
1432 if (--sc->sc_parent->dk_rawopens == 0) {
1433 struct vnode *const vp = sc->sc_parent->dk_rawvp;
1436 sc->sc_parent->dk_rawvp = NULL;
1465 mutex_enter(&sc->sc_parent->dk_rawlock);
1480 mutex_exit(&sc->sc_parent->dk_rawlock);
1529 KASSERT(sc->sc_parent->dk_rawvp != NULL);
1535 p_offset = sc->sc_offset << sc->sc_parent->dk_blkshift;
1536 p_size = dkwedge_size(sc) << sc->sc_parent->dk_blkshift;
1586 nbp = getiobuf(sc->sc_parent->dk_rawvp, false);
1625 nbp->b_dev = sc->sc_parent->dk_rawvp->v_rdev;
1704 if (sc->sc_parent->dk_driver && sc->sc_parent->dk_driver->d_minphys)
1705 (*sc->sc_parent->dk_driver->d_minphys)(bp);
1762 KASSERT(sc->sc_parent->dk_rawvp != NULL);
1778 error = VOP_IOCTL(sc->sc_parent->dk_rawvp, cmd, data, flag,
1788 strlcpy(dkw->dkw_parent, sc->sc_parent->dk_name,
1800 error = VOP_IOCTL(sc->sc_parent->dk_rawvp, cmd, dsa, flag,
1839 KASSERT(sc->sc_parent->dk_rawvp != NULL);
1842 shift = (sc->sc_parent->dk_blkshift + DEV_BSHIFT);
1858 vn_lock(sc->sc_parent->dk_rawvp, LK_EXCLUSIVE | LK_RETRY);
1859 error = VOP_FDISCARD(sc->sc_parent->dk_rawvp, pos, len);
1860 VOP_UNLOCK(sc->sc_parent->dk_rawvp);
1890 p_size = dkwedge_size(sc) << sc->sc_parent->dk_blkshift;
1932 p_offset = sc->sc_offset << sc->sc_parent->dk_blkshift;
1933 p_size = dkwedge_size(sc) << sc->sc_parent->dk_blkshift;
1968 if (strcmp(sc->sc_parent->dk_name, device_xname(parent)) == 0 &&
2014 const char *const name = sc->sc_parent->dk_name;