diff options
| author | Greg Lehey <grog@FreeBSD.org> | 2001-05-22 02:32:22 +0000 |
|---|---|---|
| committer | Greg Lehey <grog@FreeBSD.org> | 2001-05-22 02:32:22 +0000 |
| commit | acac8659d7db9c59871c9a8f5cba350c9b6e4a61 (patch) | |
| tree | 97ff48c26e15cbb4061b8e23616e6eb0ca6e28a3 /sys/dev | |
| parent | ab15c118bf077eb6ab4eee81abeff8af8a00dca3 (diff) | |
Notes
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/vinum/vinumio.c | 46 |
1 files changed, 28 insertions, 18 deletions
diff --git a/sys/dev/vinum/vinumio.c b/sys/dev/vinum/vinumio.c index 584915f6c725..7e102095ff44 100644 --- a/sys/dev/vinum/vinumio.c +++ b/sys/dev/vinum/vinumio.c @@ -87,6 +87,9 @@ open_drive(struct drive *drive, struct proc *p, int verbose) else if (bcmp(dname, "amrd", 4) == 0) { devmajor = 133; dname += 2; + } else if (bcmp(dname, "mlxd", 4) == 0) { + devmajor = 131; + dname += 2; } else if (bcmp(dname, "idad", 4) == 0) { devmajor = 109; dname += 2; @@ -552,28 +555,32 @@ format_config(char *config, int len) */ if (drivename[0] == '\0') drivename = "*invalid*"; + snprintf(s, + configend - s, + "sd name %s drive %s plex %s len %llus driveoffset %llus state %s", + sd->name, + drivename, + vinum_conf.plex[sd->plexno].name, + (unsigned long long) sd->sectors, + (unsigned long long) sd->driveoffset, + sd_state(sd->state)); + while (*s) + s++; /* find the end */ if (sd->plexno >= 0) snprintf(s, configend - s, - "sd name %s drive %s plex %s state %s " - "len %llus driveoffset %llus plexoffset %llds\n", - sd->name, - drivename, - vinum_conf.plex[sd->plexno].name, - sd_state(sd->state), - (unsigned long long) sd->sectors, - (unsigned long long) sd->driveoffset, + " plexoffset %llds", (long long) sd->plexoffset); else - snprintf(s, - configend - s, - "sd name %s drive %s state %s " - "len %llus driveoffset %llus detached\n", - sd->name, - drivename, - sd_state(sd->state), - (unsigned long long) sd->sectors, - (unsigned long long) sd->driveoffset); + snprintf(s, configend - s, " detached"); + while (*s) + s++; /* find the end */ + if (sd->flags & VF_RETRYERRORS) { + snprintf(s, configend - s, " retryerrors"); + while (*s) + s++; /* find the end */ + } + snprintf(s, configend - s, " \n"); while (*s) s++; /* find the end */ } @@ -900,7 +907,10 @@ vinum_scandisk(char *devicename[], int drives) } if (gooddrives == 0) { - log(LOG_WARNING, "vinum: no drives found\n"); + if (firsttime) + log(LOG_WARNING, "vinum: no drives found\n"); + else + log(LOG_INFO, "vinum: no additional drives found\n"); return ENOENT; } /* |
