A volume can be up if it has a degraded RAID5 plex.

This commit is contained in:
Lukas Ertl 2004-08-19 12:03:27 +00:00
parent 007ddf7e7a
commit 83bfcb1092

View File

@ -238,12 +238,18 @@ gv_update_vol_state(struct gv_volume *v)
struct gv_plex *p;
KASSERT(v != NULL, ("gv_update_vol_state: NULL v"));
LIST_FOREACH(p, &v->plexes, in_volume) {
/* One of our plexes is accessible, and so are we. */
if (p->state > GV_PLEX_DEGRADED) {
v->state = GV_VOL_UP;
return;
/* We can handle a RAID5 plex with one dead subdisk as well. */
} else if ((p->org == GV_PLEX_RAID5) &&
(p->state == GV_PLEX_DEGRADED)) {
v->state = GV_VOL_UP;
return;
}
}