From a014051b02c44268ed2e6b66c49d11b06c222557 Mon Sep 17 00:00:00 2001 From: sos Date: Mon, 7 Apr 2003 14:14:29 +0000 Subject: Minor cleanup of the ATA RAID code. --- sys/dev/ata/ata-disk.c | 10 +++------- sys/dev/ata/ata-raid.c | 8 ++++++-- 2 files changed, 9 insertions(+), 9 deletions(-) (limited to 'sys/dev/ata') diff --git a/sys/dev/ata/ata-disk.c b/sys/dev/ata/ata-disk.c index 9801c25..fc15ae2 100644 --- a/sys/dev/ata/ata-disk.c +++ b/sys/dev/ata/ata-disk.c @@ -203,14 +203,10 @@ ad_attach(struct ata_device *atadev) ata_enclosure_print(atadev); - /* if this disk belongs to an ATA RAID dont print the probe */ - if (ata_raiddisk_attach(adp)) - adp->flags |= AD_F_RAID_SUBDISK; - else { - if (atadev->driver) { + /* only print probe banner if we are not part of a RAID array */ + if (!ata_raiddisk_attach(adp)) + if (atadev->driver) ad_print(adp); - } - } } void diff --git a/sys/dev/ata/ata-raid.c b/sys/dev/ata/ata-raid.c index e895494..021fdf4 100644 --- a/sys/dev/ata/ata-raid.c +++ b/sys/dev/ata/ata-raid.c @@ -87,7 +87,7 @@ ata_raiddisk_attach(struct ad_softc *adp) "inserted into ar%d disk%d as spare\n", array, disk); rdp->disks[disk].flags |= (AR_DF_PRESENT | AR_DF_SPARE); - AD_SOFTC(rdp->disks[disk])->flags = AD_F_RAID_SUBDISK; + AD_SOFTC(rdp->disks[disk])->flags |= AD_F_RAID_SUBDISK; ar_config_changed(rdp, 1); return 1; } @@ -133,6 +133,7 @@ ata_raiddisk_detach(struct ad_softc *adp) "deleted from ar%d disk%d\n", array, disk); rdp->disks[disk].flags &= ~(AR_DF_PRESENT | AR_DF_ONLINE); AD_SOFTC(rdp->disks[disk])->flags &= ~AD_F_RAID_SUBDISK; + rdp->disks[disk].device = NULL; ar_config_changed(rdp, 1); return 1; } @@ -327,7 +328,7 @@ ata_raid_create(struct raid_setup *setup) } for (disk = 0; disk < total_disks; disk++) - AD_SOFTC(rdp->disks[disk])->flags = AD_F_RAID_SUBDISK; + AD_SOFTC(rdp->disks[disk])->flags |= AD_F_RAID_SUBDISK; rdp->lun = array; if (rdp->flags & AR_F_RAID0) { @@ -972,6 +973,7 @@ highpoint_raid01: raid->flags |= AR_F_HIGHPOINT_RAID; raid->disks[disk_number].device = adp->device; raid->disks[disk_number].flags = (AR_DF_PRESENT | AR_DF_ASSIGNED); + AD_SOFTC(raid->disks[disk_number])->flags |= AD_F_RAID_SUBDISK; raid->lun = array; if (info->magic == HPT_MAGIC_OK) { raid->disks[disk_number].flags |= AR_DF_ONLINE; @@ -1232,6 +1234,8 @@ ar_promise_read_conf(struct ad_softc *adp, struct ar_softc **raidp, int local) raid->disks[info->raid.disk_number].flags |= AR_DF_PRESENT; raid->disks[info->raid.disk_number].disk_sectors = info->raid.disk_sectors; + AD_SOFTC(raid->disks[info->raid.disk_number])->flags |= + AD_F_RAID_SUBDISK; retval = 1; } break; -- cgit v1.1