diff options
author | sos <sos@FreeBSD.org> | 2003-04-07 14:14:29 +0000 |
---|---|---|
committer | sos <sos@FreeBSD.org> | 2003-04-07 14:14:29 +0000 |
commit | a014051b02c44268ed2e6b66c49d11b06c222557 (patch) | |
tree | 2fdeece9109f5e7b70a17d140c0101a212c26075 | |
parent | d6ec3d03e8a8f11fe2c2ad4eed44f838af3d34c5 (diff) | |
download | FreeBSD-src-a014051b02c44268ed2e6b66c49d11b06c222557.zip FreeBSD-src-a014051b02c44268ed2e6b66c49d11b06c222557.tar.gz |
Minor cleanup of the ATA RAID code.
-rw-r--r-- | sys/dev/ata/ata-disk.c | 10 | ||||
-rw-r--r-- | sys/dev/ata/ata-raid.c | 8 |
2 files changed, 9 insertions, 9 deletions
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; |