#include "msg/SimpleMessenger.h"
+#include "include/nstring.h"
+
#include "common/Timer.h"
void usage()
}
int whoami = store.get_int("whoami");
+ bufferlist magicbl;
+ store.get_bl_ss(magicbl, "magic", 0);
+ nstring magic(magicbl.length()-1, magicbl.c_str()); // ignore trailing \n
+ if (strcmp(magic.c_str(), CEPH_MON_ONDISK_MAGIC)) {
+ cerr << "mon fs magic '" << magic << "' != current '" << CEPH_MON_ONDISK_MAGIC << "'" << std::endl;
+ exit(1);
+ }
+
// monmap?
bufferlist mapbl;
store.get_bl_ss(mapbl, "monmap/latest", 0);
#define CEPH_MDS_PROTOCOL 2
#define CEPH_MON_PROTOCOL 2
#define CEPH_CLIENT_PROTOCOL 1
-#define CEPH_ONDISK_FORMAT 1
+
+#define CEPH_OSD_ONDISK_MAGIC "ceph osd volume v1"
+#define CEPH_MON_ONDISK_MAGIC "ceph monitor volume v1"
/*
* types in this file are defined as little-endian, and are
store->put_int(whoami, "whoami", 0);
+ bufferlist magicbl;
+ magicbl.append(CEPH_MON_ONDISK_MAGIC);
+ magicbl.append("\n");
+ store->put_bl_ss(magicbl, "magic", 0);
+
bufferlist monmapbl;
monmap->encode(monmapbl);
store->put_bl_sn(monmapbl, "monmap", monmap->epoch);