state_set(PG_STATE_DEGRADED);
state_set(PG_STATE_UNDERSIZED);
}
+
+ state_set(PG_STATE_ACTIVATING);
}
}
{
PG *pg = context< RecoveryMachine >().pg;
all_replicas_activated = true;
-
+ pg->state_clear(PG_STATE_ACTIVATING);
pg->state_set(PG_STATE_ACTIVE);
pg->check_local();
pg->backfill_reserved = false;
pg->backfill_reserving = false;
+ pg->state_clear(PG_STATE_ACTIVATING);
pg->state_clear(PG_STATE_DEGRADED);
pg->state_clear(PG_STATE_UNDERSIZED);
pg->state_clear(PG_STATE_BACKFILL_TOOFULL);
oss << "creating+";
if (state & PG_STATE_ACTIVE)
oss << "active+";
+ if (state & PG_STATE_ACTIVATING)
+ oss << "activating+";
if (state & PG_STATE_CLEAN)
oss << "clean+";
if (state & PG_STATE_RECOVERY_WAIT)
#define PG_STATE_BACKFILL_TOOFULL (1<<21) // backfill can't proceed: too full
#define PG_STATE_RECOVERY_WAIT (1<<22) // waiting for recovery reservations
#define PG_STATE_UNDERSIZED (1<<23) // pg acting < pool size
+#define PG_STATE_ACTIVATING (1<<24) // pg is peered but not yet active
std::string pg_state_string(int state);