diff options
| author | Søren Schmidt <sos@FreeBSD.org> | 2005-09-06 19:17:48 +0000 |
|---|---|---|
| committer | Søren Schmidt <sos@FreeBSD.org> | 2005-09-06 19:17:48 +0000 |
| commit | fba8a154bd5c3293e6ec4111f915d5d6d50716c8 (patch) | |
| tree | 9d91f3e49f7d156cde6bf17d54cf70fb2f2fb2bf /sys/dev | |
| parent | e71fefbe21553a0be57820eaee38cdf7f62675a4 (diff) | |
Notes
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/ata/ata-raid.c | 2 | ||||
| -rw-r--r-- | sys/dev/ata/ata-raid.h | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/ata/ata-raid.c b/sys/dev/ata/ata-raid.c index 046d6a1c05f4f..f0b9eb829d9a8 100644 --- a/sys/dev/ata/ata-raid.c +++ b/sys/dev/ata/ata-raid.c @@ -3064,7 +3064,7 @@ ata_raid_via_read_meta(device_t dev, struct ar_softc **raidp) for (disk = 0; disk < 8; disk++) { if ((meta->disks[disk] == meta->disk_id) && - ((disk << 2) == meta->disk_index)) { + ((disk * sizeof(int32_t)) == (meta->disk_index & VIA_D_MASK))) { raid->disks[disk].dev = parent; raid->disks[disk].sectors = meta->total_sectors / raid->width; raid->disks[disk].flags = diff --git a/sys/dev/ata/ata-raid.h b/sys/dev/ata/ata-raid.h index 3fb959ce14cf6..0d1cc38afbd84 100644 --- a/sys/dev/ata/ata-raid.h +++ b/sys/dev/ata/ata-raid.h @@ -711,6 +711,9 @@ struct via_raid_conf { #define VIA_T_SPAN 0x44 u_int8_t disk_index; +#define VIA_D_MASK 0x0f +#define VIA_D_DEGRADED 0x10 + u_int8_t stripe_layout; #define VIA_L_MASK 0x07 #define VIA_L_SHIFT 4 |
