diff options
author | Joel Sing <jsing@cvs.openbsd.org> | 2009-07-31 15:23:03 +0000 |
---|---|---|
committer | Joel Sing <jsing@cvs.openbsd.org> | 2009-07-31 15:23:03 +0000 |
commit | 5571d058b348039e9a4c920e93847ea19c2a4573 (patch) | |
tree | 124e38956dbbdf2c87e2dcd523964ffd93499e68 | |
parent | 339c66d4a0faeb891adbdecdcd53766094ff8717 (diff) |
raidp is degraded when n - 1 disks are online, not offline.
ok marco@
-rw-r--r-- | sys/dev/softraid_raidp.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/dev/softraid_raidp.c b/sys/dev/softraid_raidp.c index ae4ec8aae24..91174b64810 100644 --- a/sys/dev/softraid_raidp.c +++ b/sys/dev/softraid_raidp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: softraid_raidp.c,v 1.6 2009/06/20 13:00:44 marco Exp $ */ +/* $OpenBSD: softraid_raidp.c,v 1.7 2009/07/31 15:23:02 jsing Exp $ */ /* * Copyright (c) 2009 Marco Peereboom <marco@peereboom.us> * Copyright (c) 2009 Jordan Hargrave <jordan@openbsd.org> @@ -242,10 +242,10 @@ sr_raidp_set_vol_state(struct sr_discipline *sd) if (states[BIOC_SDONLINE] == nd) new_state = BIOC_SVONLINE; + else if (states[BIOC_SDONLINE] == nd - 1) + new_state = BIOC_SVDEGRADED; else if (states[BIOC_SDONLINE] < nd - 1) new_state = BIOC_SVOFFLINE; - else if (states[BIOC_SDOFFLINE] == nd - 1) - new_state = BIOC_SVDEGRADED; else if (states[BIOC_SDSCRUB] != 0) new_state = BIOC_SVSCRUB; else if (states[BIOC_SDREBUILD] != 0) |