summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorgrog <grog@FreeBSD.org>1999-02-11 06:44:46 +0000
committergrog <grog@FreeBSD.org>1999-02-11 06:44:46 +0000
commit6c6407eea425e4465e4edd541e7490b16c330207 (patch)
tree035b8c692b97c91106eb29f08d753292e22ee81b /sys
parentc644d9d444fa93ed45c1cd2be188987063dff20b (diff)
downloadFreeBSD-src-6c6407eea425e4465e4edd541e7490b16c330207.zip
FreeBSD-src-6c6407eea425e4465e4edd541e7490b16c330207.tar.gz
Correct some indentation
Implicitly-desired-by: bde update_plex_state: Handle empty RAID-5 plexes correctly
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/vinum/vinumstate.c85
1 files changed, 48 insertions, 37 deletions
diff --git a/sys/dev/vinum/vinumstate.c b/sys/dev/vinum/vinumstate.c
index 31c3999..7f08822 100644
--- a/sys/dev/vinum/vinumstate.c
+++ b/sys/dev/vinum/vinumstate.c
@@ -33,7 +33,7 @@
* otherwise) arising in any way out of the use of this software, even if
* advised of the possibility of such damage.
*
- * $Id: vinumstate.c,v 2.10 1999/01/17 06:19:23 grog Exp grog $
+ * $Id: vinumstate.c,v 1.7.2.3 1999/02/11 05:53:52 grog Exp $
*/
#define REALLYKERNEL
@@ -60,7 +60,9 @@ set_drive_state(int driveno, enum drivestate newstate, enum setstateflags flags)
return 0; /* don't do it */
drive->state = newstate; /* set the state */
if (drive->label.name[0] != '\0') /* we have a name, */
- printf("vinum: drive %s is %s\n", drive->label.name, drive_state(drive->state));
+ printf("vinum: drive %s is %s\n",
+ drive->label.name,
+ drive_state(drive->state));
if ((drive->state == drive_up)
&& (drive->vp == NULL)) /* should be open, but we're not */
init_drive(drive, 1); /* which changes the state again */
@@ -131,7 +133,10 @@ 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 */
- printf("vinum: subdisk %s is %s, not %s\n", sd->name, sd_state(sd->state), sd_state(newstate));
+ printf("vinum: subdisk %s is %s, not %s\n",
+ sd->name,
+ sd_state(sd->state),
+ sd_state(newstate));
status = -1;
break;
@@ -174,7 +179,8 @@ set_sd_state(int sdno, enum sdstate newstate, enum setstateflags flags)
vol = &VOL[plex->volno];
else
vol = NULL;
- if (((vol == NULL) /* no volume */ ||(vol->plexes == 1)) /* or only one plex in volume */
+ if (((vol == NULL) /* no volume */
+ ||(vol->plexes == 1)) /* or only one plex in volume */
&&((plex->organization != plex_raid5) /* or it's a RAID-5 plex */
||(plex->sddowncount > 1))) /* with more than one subdisk down, */
return 0; /* can't do it */
@@ -392,39 +398,44 @@ update_plex_state(int plexno)
*/
plex->state = plex_up; /* go for it */
else if (statemap == sd_emptystate) { /* nothing done yet */
- if (((vps & (volplex_otherup | volplex_onlyus)) == 0) /* nothing is up */ &&(plex->state == plex_init) /* we're brand spanking new */
- &&(plex->volno >= 0) /* and we have a volume */
- &&(VOL[plex->volno].flags & VF_CONFIG_SETUPSTATE)) { /* and we consider that up */
- /*
- * Conceptually, an empty plex does not contain valid data,
- * but normally we'll see this state when we have just
- * created a plex, and it's either consistent from earlier,
- * or we don't care about the previous contents (we're going
- * to create a file system or use it for swap).
- *
- * We need to do this in one swell foop: on the next call
- * we will no longer be just empty.
- *
- * This code assumes that all the other plexes are also
- * capable of coming up (i.e. all the sds are up), but
- * that's OK: we'll come back to this function for the remaining
- * plexes in the volume.
- */
- struct volume *vol = &VOL[plex->volno];
- int plexno;
-
- for (plexno = 0; plexno < vol->plexes; plexno++)
- PLEX[vol->plex[plexno]].state = plex_up;
- } else if ((vps & volplex_otherup) == 0) { /* no other plexes up */
- int sdno;
-
- plex->state = plex_up; /* we can call that up */
- for (sdno = 0; sdno < plex->subdisks; sdno++) { /* change the subdisks to up state */
- SD[plex->sdnos[sdno]].state = sd_up;
- printf("vinum: %s is up\n", SD[plex->sdnos[sdno]].name); /* tell them about it */
- }
- } else
- plex->state = plex_faulty; /* no, it's down */
+ if ((plex->organization == plex_concat) /* only change this for concat and struped */
+ ||(plex->organization == plex_striped)) {
+ if (((vps & (volplex_otherup | volplex_onlyus)) == 0) /* nothing is up */
+ &&(plex->state == plex_init) /* we're brand spanking new */
+ &&(plex->volno >= 0) /* and we have a volume */
+ &&(VOL[plex->volno].flags & VF_CONFIG_SETUPSTATE)) { /* and we consider that up */
+ /*
+ * Conceptually, an empty plex does not contain valid data,
+ * but normally we'll see this state when we have just
+ * created a plex, and it's either consistent from earlier,
+ * or we don't care about the previous contents (we're going
+ * to create a file system or use it for swap).
+ *
+ * We need to do this in one swell foop: on the next call
+ * we will no longer be just empty.
+ *
+ * This code assumes that all the other plexes are also
+ * capable of coming up (i.e. all the sds are up), but
+ * that's OK: we'll come back to this function for the remaining
+ * plexes in the volume.
+ */
+ struct volume *vol = &VOL[plex->volno];
+ int plexno;
+
+ for (plexno = 0; plexno < vol->plexes; plexno++)
+ PLEX[vol->plex[plexno]].state = plex_up;
+ } else if ((vps & volplex_otherup) == 0) { /* no other plexes up */
+ int sdno;
+
+ plex->state = plex_up; /* we can call that up */
+ for (sdno = 0; sdno < plex->subdisks; sdno++) { /* change the subdisks to up state */
+ SD[plex->sdnos[sdno]].state = sd_up;
+ printf("vinum: %s is up\n", SD[plex->sdnos[sdno]].name); /* tell them about it */
+ }
+ } else
+ plex->state = plex_faulty; /* no, it's down */
+ } else /* invalid or RAID-5 organization */
+ plex->state = plex_faulty; /* it's down */
} else if ((statemap & (sd_upstate | sd_rebornstate)) == statemap) /* all up or reborn */
plex->state = plex_flaky;
else if (statemap & (sd_upstate | sd_rebornstate)) /* some up or reborn */
OpenPOWER on IntegriCloud