Lines Matching defs:dsk

205 	struct dsk *dsk = (struct dsk *) priv;
212 lba += dsk->start;
222 alignlba += dsk->start;
240 if (drvread(dsk, dmadat->rdbuf, alignlba, alignnb))
244 if (is_geli(dsk) == 0) {
245 if (geli_read(dsk, ((alignlba - dsk->start) *
381 * We call this when we find a ZFS vdev - ZFS consumes the dsk
384 static struct dsk *
385 copy_dsk(struct dsk *dsk)
387 struct dsk *newdsk;
389 newdsk = malloc(sizeof(struct dsk));
390 *newdsk = *dsk;
395 probe_drive(struct dsk *dsk)
414 if (vdev_probe(vdev_read, dsk, NULL) == 0)
424 elba = drvsize(dsk);
428 if (geli_taste(vdev_read, dsk, elba) == 0) {
429 if (geli_passphrase(&gelipw, dsk->unit, ':', 0, dsk) == 0) {
430 if (vdev_probe(vdev_read, dsk, NULL) == 0) {
438 dsk->start = 0;
444 if (drvread(dsk, sec, 1, 1)) {
466 dsk->start = 0;
467 if (drvread(dsk, sec, slba, 1))
473 dsk->start = ent->ent_lba_start;
474 dsk->slice = part + 1;
475 dsk->part = 255;
476 if (vdev_probe(vdev_read, dsk, NULL) == 0) {
478 * This slice had a vdev. We need a new dsk
481 dsk = copy_dsk(dsk);
484 else if (geli_taste(vdev_read, dsk, ent->ent_lba_end -
486 if (geli_passphrase(&gelipw, dsk->unit, 'p', dsk->slice, dsk) == 0) {
490 if (vdev_probe(vdev_read, dsk, NULL) == 0) {
492 * This slice had a vdev. We need a new dsk
495 dsk = copy_dsk(dsk);
509 if (drvread(dsk, sec, DOSBBSECTOR, 1))
516 dsk->start = dp[i].dp_start;
517 dsk->slice = i + 1;
518 if (vdev_probe(vdev_read, dsk, NULL) == 0) {
519 dsk = copy_dsk(dsk);
522 else if (geli_taste(vdev_read, dsk, dp[i].dp_size -
524 if (geli_passphrase(&gelipw, dsk->unit, 's', i, dsk) == 0) {
528 if (vdev_probe(vdev_read, dsk, NULL) == 0) {
530 * This slice had a vdev. We need a new dsk
533 dsk = copy_dsk(dsk);
548 struct dsk *dsk;
562 dsk = malloc(sizeof(struct dsk));
563 dsk->drive = *(uint8_t *)PTOV(ARGS);
564 dsk->type = dsk->drive & DRV_HARD ? TYPE_AD : TYPE_FD;
565 dsk->unit = dsk->drive & DRV_MASK;
566 dsk->slice = *(uint8_t *)PTOV(ARGS + 1) + 1;
567 dsk->part = 0;
568 dsk->start = 0;
569 dsk->init = 0;
576 bootinfo.bi_bios_dev = dsk->drive;
578 bootdev = MAKEBOOTDEV(dev_maj[dsk->type],
579 dsk->slice, dsk->unit, dsk->part),
594 probe_drive(dsk);
613 dsk = malloc(sizeof(struct dsk));
614 dsk->drive = i | DRV_HARD;
615 dsk->type = dsk->drive & TYPE_AD;
616 dsk->unit = i;
617 dsk->slice = 0;
618 dsk->part = 0;
619 dsk->start = 0;
620 dsk->init = 0;
621 probe_drive(dsk);