aboutsummaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorGreg Lehey <grog@FreeBSD.org>1999-05-02 07:50:09 +0000
committerGreg Lehey <grog@FreeBSD.org>1999-05-02 07:50:09 +0000
commitb3a717f1a803388b2e6fa182fe66f288a4e1507c (patch)
treee29f1783c1688d6fabf017ddf017ec15d9731572 /sys/dev
parenta894c77db157f378e9c4d0625f22decc58e0e524 (diff)
Notes
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/vinum/vinumstate.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/sys/dev/vinum/vinumstate.c b/sys/dev/vinum/vinumstate.c
index 281220ed3bd1..074b552b6deb 100644
--- a/sys/dev/vinum/vinumstate.c
+++ b/sys/dev/vinum/vinumstate.c
@@ -128,6 +128,7 @@ set_sd_state(int sdno, enum sdstate newstate, enum setstateflags flags)
return 0; /* not even by force */
switch (sd->state) {
case sd_crashed:
+ case sd_reborn:
case sd_down: /* been down, no data lost */
/*
* If we're associated with a plex, and
@@ -145,12 +146,14 @@ set_sd_state(int sdno, enum sdstate newstate, enum setstateflags flags)
*
* Do we even want this any more?
*/
- sd->state = sd_reborn; /* here it is again */
- log(LOG_INFO,
- "vinum: subdisk %s is %s, not %s\n",
- sd->name,
- sd_state(sd->state),
- sd_state(newstate));
+ if (oldstate != sd_reborn) {
+ sd->state = sd_reborn; /* here it is again */
+ log(LOG_INFO,
+ "vinum: subdisk %s is %s, not %s\n",
+ sd->name,
+ sd_state(sd->state),
+ sd_state(newstate));
+ }
status = -1;
break;