summaryrefslogtreecommitdiffstats
path: root/sys/dev/ata/ata-raid.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/ata/ata-raid.c')
-rw-r--r--sys/dev/ata/ata-raid.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/sys/dev/ata/ata-raid.c b/sys/dev/ata/ata-raid.c
index 82a0f5a..74c849c 100644
--- a/sys/dev/ata/ata-raid.c
+++ b/sys/dev/ata/ata-raid.c
@@ -199,8 +199,9 @@ ata_raid_attach(struct ar_softc *rdp, int writeback)
printf("using %s at ata%d-%s\n",
device_get_nameunit(rdp->disks[disk].dev),
device_get_unit(device_get_parent(rdp->disks[disk].dev)),
- ata_unit2str((struct ata_device *)
- device_get_softc(rdp->disks[disk].dev)));
+ (((struct ata_device *)
+ device_get_softc(rdp->disks[disk].dev))->unit ==
+ ATA_MASTER) ? "master" : "slave");
}
else if (rdp->disks[disk].flags & AR_DF_ASSIGNED)
printf("DOWN\n");
@@ -1665,7 +1666,7 @@ ata_raid_adaptec_read_meta(device_t dev, struct ar_softc **raidp)
struct ata_device *atadev = device_get_softc(parent);
struct ata_channel *ch = device_get_softc(GRANDPARENT(dev));
int disk_number = (ch->unit << !(ch->flags & ATA_NO_SLAVE)) +
- atadev->unit;
+ ATA_DEV(atadev->unit);
raid->disks[disk_number].dev = parent;
raid->disks[disk_number].sectors =
@@ -2298,7 +2299,7 @@ ata_raid_intel_write_meta(struct ar_softc *rdp)
bcopy(atadev->param.serial, meta->disk[disk].serial,
sizeof(rdp->disks[disk].serial));
meta->disk[disk].sectors = rdp->disks[disk].sectors;
- meta->disk[disk].id = (ch->unit << 16) | atadev->unit;
+ meta->disk[disk].id = (ch->unit << 16) | ATA_DEV(atadev->unit);
}
else
meta->disk[disk].sectors = rdp->total_sectors / rdp->width;
@@ -3323,7 +3324,7 @@ ata_raid_promise_write_meta(struct ar_softc *rdp)
device_get_softc(device_get_parent(rdp->disks[disk].dev));
meta->raid.channel = ch->unit;
- meta->raid.device = atadev->unit;
+ meta->raid.device = ATA_DEV(atadev->unit);
meta->raid.disk_sectors = rdp->disks[disk].sectors;
meta->raid.disk_offset = rdp->offset_sectors;
}
@@ -3411,7 +3412,7 @@ ata_raid_promise_write_meta(struct ar_softc *rdp)
device_get_softc(rdp->disks[drive].dev);
meta->raid.disk[drive].channel = ch->unit;
- meta->raid.disk[drive].device = atadev->unit;
+ meta->raid.disk[drive].device = ATA_DEV(atadev->unit);
}
meta->raid.disk[drive].magic_0 =
PR_MAGIC0(meta->raid.disk[drive]) | timestamp.tv_sec;
@@ -3737,7 +3738,7 @@ ata_raid_sis_write_meta(struct ar_softc *rdp)
struct ata_channel *ch =
device_get_softc(device_get_parent(rdp->disks[disk].dev));
struct ata_device *atadev = device_get_softc(rdp->disks[disk].dev);
- int disk_number = 1 + atadev->unit + (ch->unit << 1);
+ int disk_number = 1 + ATA_DEV(atadev->unit) + (ch->unit << 1);
meta->disks |= disk_number << ((1 - disk) << 2);
}
@@ -3775,7 +3776,7 @@ ata_raid_sis_write_meta(struct ar_softc *rdp)
bcopy(atadev->param.model, meta->model, sizeof(meta->model));
/* XXX SOS if total_disks > 2 this may not float */
- meta->disk_number = 1 + atadev->unit + (ch->unit << 1);
+ meta->disk_number = 1 + ATA_DEV(atadev->unit) + (ch->unit << 1);
if (testing || bootverbose)
ata_raid_sis_print_meta(meta);
OpenPOWER on IntegriCloud