Lines Matching defs:state

46 	char *obj, *state;
56 state = gctl_get_param(req, "state", NULL);
57 if (state == NULL) {
58 gctl_error(req, "no state given");
75 if (gv_volstatei(state) < 0) {
76 gctl_error(req, "invalid volume state '%s'", state);
81 gv_volstatei(state), f);
85 if (gv_plexstatei(state) < 0) {
86 gctl_error(req, "invalid plex state '%s'", state);
91 gv_plexstatei(state), f);
95 if (gv_sdstatei(state) < 0) {
96 gctl_error(req, "invalid subdisk state '%s'", state);
101 gv_sdstatei(state), f);
105 if (gv_drivestatei(state) < 0) {
106 gctl_error(req, "invalid drive state '%s'", state);
111 gv_drivestatei(state), f);
120 /* Update drive state; return 0 if the state changes, otherwise error. */
129 oldstate = d->state;
139 d->state = newstate;
141 if (d->state != oldstate) {
162 oldstate = s->state;
193 if ((d == NULL) || (d->state != GV_DRIVE_UP))
197 switch (s->state) {
229 s->state = GV_SD_STALE;
260 /* Other state transitions are only possible with force. */
266 /* We can change the state and do it. */
268 s->state = newstate;
289 oldstate = p->state;
300 if (p->state != GV_PLEX_UP && !(flags & GV_SETSTATE_FORCE))
302 p->state = newstate;
306 * Set state to GV_PLEX_DOWN only if no-one is using the plex,
307 * or if the state is forced.
317 p->state = newstate;
322 p->state = newstate;
343 oldstate = v->state;
352 if (v->state != GV_VOL_UP && !(flags & GV_SETSTATE_FORCE))
354 v->state = newstate;
358 * Set state to GV_VOL_DOWN only if no-one is using the volume,
359 * or if the state should be forced.
364 v->state = newstate;
373 /* Update the state of a subdisk based on its environment. */
384 oldstate = s->state;
387 if (d->state != GV_DRIVE_UP) {
388 s->state = GV_SD_DOWN;
391 s->state = GV_SD_UP;
393 } else if (s->state != GV_SD_UP) {
395 s->state = GV_SD_UP;
398 s->state = GV_SD_STALE;
400 s->state = GV_SD_UP;
402 if (s->state != oldstate)
403 G_VINUM_DEBUG(1, "subdisk %s state change: %s -> %s", s->name,
404 gv_sdstate(oldstate), gv_sdstate(s->state));
411 /* Update the state of a plex based on its environment. */
421 oldstate = p->state;
423 /* First, check the state of our subdisks. */
428 p->state = GV_PLEX_UP;
434 p->state = GV_PLEX_DEGRADED;
436 p->state = GV_PLEX_DOWN;
443 p->state = GV_PLEX_DEGRADED;
445 p->state = GV_PLEX_DOWN;
447 p->state = GV_PLEX_DOWN;
449 if (p->state == GV_PLEX_UP) {
452 p->state = GV_PLEX_GROWABLE;
458 if (p->state != oldstate)
459 G_VINUM_DEBUG(1, "plex %s state change: %s -> %s", p->name,
460 gv_plexstate(oldstate), gv_plexstate(p->state));
467 /* Update the volume state based on its plexes. */
477 v->state = GV_VOL_DOWN;
483 if (p->state > GV_PLEX_DEGRADED) {
484 v->state = GV_VOL_UP;
489 (p->state == GV_PLEX_DEGRADED)) {
490 v->state = GV_VOL_UP;
496 v->state = GV_VOL_DOWN;
499 /* Return a state map for the subdisks of a plex. */
512 switch (s->state) {