]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osdc: refactor JOURNAL_FORMAT_* constants to enum 2115/head
authorJohn Spray <john.spray@redhat.com>
Fri, 18 Jul 2014 17:39:37 +0000 (18:39 +0100)
committerJohn Spray <john.spray@redhat.com>
Fri, 18 Jul 2014 17:40:51 +0000 (18:40 +0100)
...so that the upper limit doesn't have to be updated
by hand.

Signed-off-by: John Spray <john.spray@redhat.com>
src/osdc/Journaler.h

index 0a0c868f823906dde3175ddcc4655f2943c68ae2..19e724d38094577ea13140216ab0b6037a0eb10d 100644 (file)
@@ -63,16 +63,22 @@ class PerfCounters;
 typedef __u8 stream_format_t;
 
 // Legacy envelope is leading uint32_t size
-#define JOURNAL_FORMAT_LEGACY 0
+enum StreamFormat {
+    JOURNAL_FORMAT_LEGACY = 0,
+    JOURNAL_FORMAT_RESILIENT = 1,
+    // Insert new formats here, before COUNT
+    JOURNAL_FORMAT_COUNT
+};
+
+// Highest journal format version that we support
+#define JOURNAL_FORMAT_MAX (JOURNAL_FORMAT_COUNT - 1)
+
+// Legacy envelope is leading uint32_t size
 #define JOURNAL_ENVELOPE_LEGACY (sizeof(uint32_t))
 
 // Resilient envelope is leading uint64_t sentinel, uint32_t size, trailing uint64_t start_ptr
-#define JOURNAL_FORMAT_RESILIENT 1
 #define JOURNAL_ENVELOPE_RESILIENT (sizeof(uint32_t) + sizeof(uint64_t) + sizeof(uint64_t))
 
-// Most recent format which we may try to read
-#define JOURNAL_FORMAT_MAX 1
-
 /**
  * Represents a collection of entries serialized in a byte stream.
  *