diff options
| author | Greg Lehey <grog@FreeBSD.org> | 1999-05-02 07:50:09 +0000 |
|---|---|---|
| committer | Greg Lehey <grog@FreeBSD.org> | 1999-05-02 07:50:09 +0000 |
| commit | b3a717f1a803388b2e6fa182fe66f288a4e1507c (patch) | |
| tree | e29f1783c1688d6fabf017ddf017ec15d9731572 /sys/dev | |
| parent | a894c77db157f378e9c4d0625f22decc58e0e524 (diff) | |
Notes
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/vinum/vinumstate.c | 15 |
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; |
