]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: add PG_STATE_UNDERSIZED
authorSage Weil <sage@redhat.com>
Wed, 2 Jul 2014 01:08:33 +0000 (18:08 -0700)
committerSage Weil <sage@redhat.com>
Sat, 16 Aug 2014 20:18:54 +0000 (13:18 -0700)
This is a distinct concept from degraded.

Signed-off-by: Sage Weil <sage@redhat.com>
src/osd/PG.h
src/osd/osd_types.cc
src/osd/osd_types.h

index 02b575856658a5e5fa4d22795dd9223b8fd892c8..79fd9dbd2d0c3a1bf28a1021f04691dc95b90b36 100644 (file)
@@ -2054,6 +2054,7 @@ public:
   bool       is_replay() const { return state_test(PG_STATE_REPLAY); }
   bool       is_clean() const { return state_test(PG_STATE_CLEAN); }
   bool       is_degraded() const { return state_test(PG_STATE_DEGRADED); }
+  bool       is_undersized() const { return state_test(PG_STATE_UNDERSIZED); }
 
   bool       is_scrubbing() const { return state_test(PG_STATE_SCRUBBING); }
 
index ca3c0e412f5ca32bffc618ac577d6a0a21dbc834..d3fac18462bbb9022e2b88831253894d12be1c4f 100644 (file)
@@ -669,6 +669,8 @@ std::string pg_state_string(int state)
     oss << "replay+";
   if (state & PG_STATE_SPLITTING)
     oss << "splitting+";
+  if (state & PG_STATE_UNDERSIZED)
+    oss << "undersized+";
   if (state & PG_STATE_DEGRADED)
     oss << "degraded+";
   if (state & PG_STATE_REMAPPED)
index e03aac7c0c4ddfb9bda7d9aec59ecaf6abdf914d..9335bbbfba3267408b31ea741530db88d8e75574 100644 (file)
@@ -749,7 +749,7 @@ inline ostream& operator<<(ostream& out, const osd_stat_t& s) {
 #define PG_STATE_SPLITTING    (1<<7)  // i am splitting
 #define PG_STATE_SCRUBBING    (1<<8)  // scrubbing
 #define PG_STATE_SCRUBQ       (1<<9)  // queued for scrub
-#define PG_STATE_DEGRADED     (1<<10) // pg membership not complete
+#define PG_STATE_DEGRADED     (1<<10) // pg contains objects with reduced redundancy
 #define PG_STATE_INCONSISTENT (1<<11) // pg replicas are inconsistent (but shouldn't be)
 #define PG_STATE_PEERING      (1<<12) // pg is (re)peering
 #define PG_STATE_REPAIR       (1<<13) // pg should repair on next scrub
@@ -762,6 +762,7 @@ inline ostream& operator<<(ostream& out, const osd_stat_t& s) {
 #define PG_STATE_BACKFILL  (1<<20) // [active] backfilling pg content
 #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
 
 std::string pg_state_string(int state);