Lines Matching refs:dk
210 disk_begindetach(struct disk *dk, int (*lastclose)(device_t),
216 mutex_enter(&dk->dk_openlock);
217 if (dk->dk_openmask == 0)
223 mutex_exit(&dk->dk_openlock);
351 bounds_check_with_label(struct disk *dk, struct buf *bp, int wlabel)
353 struct disklabel *lp = dk->dk_label;
370 p_size = (uint64_t)p->p_size << dk->dk_blkshift;
371 p_offset = (uint64_t)p->p_offset << dk->dk_blkshift;
377 labelsector = (labelsector + dk->dk_labelsector) << dk->dk_blkshift;
522 disk_ioctl(struct disk *dk, dev_t dev, u_long cmd, void *data, int flag,
537 mutex_enter(&dk->dk_openlock);
538 if ((disk_info = dk->dk_info) == NULL) {
544 mutex_exit(&dk->dk_openlock);
553 *(u_int *)data = dk->dk_geom.dg_secsize;
557 *(off_t *)data = (off_t)dk->dk_geom.dg_secsize *
558 dk->dk_geom.dg_secperunit;
570 if (dk->dk_label == NULL)
572 memcpy(data, dk->dk_label, sizeof (*dk->dk_label));
577 if (dk->dk_label == NULL)
579 memcpy(&newlabel, dk->dk_label, sizeof(newlabel));
589 pi->pi_secsize = dk->dk_geom.dg_secsize;
593 pi->pi_size = dk->dk_geom.dg_secperunit;
597 if (dk->dk_label == NULL)
600 dp = &dk->dk_label->d_partitions[DISKPART(dev)];
633 strlcpy(dkw->dkw_parent, dk->dk_name, sizeof(dkw->dkw_parent));
641 strlcpy(dkw->dkw_parent, dk->dk_name, sizeof(dkw->dkw_parent));
645 return dkwedge_list(dk, data, l);
651 dkwedge_discover(dk);
658 dkwedge_delidle(dk);
665 dsa->dsa_alignment = MAX(1u, dk->dk_geom.dg_physsecsize /
666 dk->dk_geom.dg_secsize);
667 dsa->dsa_firstaligned = dk->dk_geom.dg_alignedsec;
670 struct disklabel * const lp = dk->dk_label;
690 * Canonicalize dk->dk_geom and set some parameters.
697 disk_set_info(device_t dev, struct disk *dk, const char *type)
699 struct disk_geom *dg = &dk->dk_geom;
703 printf("%s: fixing 0 sector size\n", dk->dk_name);
708 dk->dk_blkshift = DK_BSIZE2BLKSHIFT(dg->dg_secsize);
709 dk->dk_byteshift = DK_BSIZE2BYTESHIFT(dg->dg_secsize);
715 dk->dk_name);
719 "are zero\n", dk->dk_name);
768 odisk_info = dk->dk_info;
769 dk->dk_info = disk_info;