Lines Matching defs:pdk
230 struct disk *pdk = sc->sc_parent;
238 mutex_enter(&pdk->dk_openlock);
246 mutex_exit(&pdk->dk_openlock);
249 mutex_enter(&pdk->dk_openlock);
250 dk_set_geometry(sc, pdk);
251 mutex_exit(&pdk->dk_openlock);
391 dk_set_geometry(struct dkwedge_softc *sc, struct disk *pdk)
397 KASSERT(mutex_owned(&pdk->dk_openlock));
402 dg->dg_secsize = DEV_BSIZE << pdk->dk_blkshift;
410 dg->dg_physsecsize = pdk->dk_geom.dg_physsecsize;
411 dg->dg_alignedsec = pdk->dk_geom.dg_alignedsec;
434 struct disk *pdk;
441 pdk = disk_find(dkw->dkw_parent);
442 if (pdk == NULL)
445 error = dkwedge_compute_pdev(pdk->dk_name, &pdev, VBLK);
458 mutex_enter(&pdk->dk_openlock);
459 LIST_FOREACH(lsc, &pdk->dk_wedges, sc_plink) {
474 dk_set_geometry(sc, pdk);
478 mutex_exit(&pdk->dk_openlock);
485 sc->sc_parent = pdk;
507 mutex_enter(&pdk->dk_openlock);
508 if (pdk->dk_openmask & ~(1 << RAW_PART))
512 LIST_FOREACH(lsc, &pdk->dk_wedges, sc_plink) {
538 pdk->dk_nwedges++;
539 LIST_INSERT_HEAD(&pdk->dk_wedges, sc, sc_plink);
542 mutex_exit(&pdk->dk_openlock);
596 mutex_enter(&pdk->dk_openlock);
597 pdk->dk_nwedges--;
599 mutex_exit(&pdk->dk_openlock);
625 mutex_enter(&pdk->dk_openlock);
626 pdk->dk_nwedges--;
628 mutex_exit(&pdk->dk_openlock);
643 device_xname(sc->sc_dev), pdk->dk_name,
808 dkwedge_delall(struct disk *pdk)
811 dkwedge_delall1(pdk, /*idleonly*/false);
821 dkwedge_delidle(struct disk *pdk)
824 dkwedge_delall1(pdk, /*idleonly*/true);
828 dkwedge_delall1(struct disk *pdk, bool idleonly)
838 mutex_enter(&pdk->dk_rawlock); /* for sc->sc_dk.dk_openmask */
839 mutex_enter(&pdk->dk_openlock);
840 LIST_FOREACH(sc, &pdk->dk_wedges, sc_plink) {
855 KASSERT(idleonly || pdk->dk_nwedges == 0);
856 mutex_exit(&pdk->dk_openlock);
857 mutex_exit(&pdk->dk_rawlock);
860 mutex_exit(&pdk->dk_openlock);
861 mutex_exit(&pdk->dk_rawlock);
872 dkwedge_list(struct disk *pdk, struct dkwedge_list *dkwl, struct lwp *l)
893 mutex_enter(&pdk->dk_openlock);
894 LIST_FOREACH(sc, &pdk->dk_wedges, sc_plink) {
917 mutex_exit(&pdk->dk_openlock);
919 mutex_enter(&pdk->dk_openlock);
926 dkwl->dkwl_nwedges = pdk->dk_nwedges;
927 mutex_exit(&pdk->dk_openlock);
1096 dkwedge_discover(struct disk *pdk)
1115 error = dkwedge_compute_pdev(pdk->dk_name, &pdev, VCHR);
1118 pdk->dk_name, error);
1125 pdk->dk_name, error);
1132 pdk->dk_name, error);
1141 pdk->dk_name, error);
1150 dkwedge_delidle(pdk);
1158 error = (*ddm->ddm_discover)(pdk, vp);
1168 pdk->dk_name, error);
1183 dkwedge_read(struct disk *pdk, struct vnode *vp, daddr_t blkno,
1204 mutex_enter(&pdk->dk_rawlock);
1205 if (pdk->dk_rawopens != 0) {
1206 KASSERT(pdk->dk_rawvp != NULL);
1208 ++pdk->dk_rawopens;
1209 bdvp = pdk->dk_rawvp;
1215 mutex_exit(&pdk->dk_rawlock);
1234 mutex_enter(&pdk->dk_rawlock);
1236 --pdk->dk_rawopens;
1240 mutex_exit(&pdk->dk_rawlock);