From b95422d1c1037629eae7fdd862b4600c511e878c Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 20 Nov 2008 16:59:08 -0800 Subject: [PATCH] mon: include magic in mondata --- src/cmon.cc | 10 ++++++++++ src/include/ceph_fs.h | 4 +++- src/mon/Monitor.cc | 5 +++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/cmon.cc b/src/cmon.cc index e94ae3418c47f..556478a183b92 100644 --- a/src/cmon.cc +++ b/src/cmon.cc @@ -29,6 +29,8 @@ using namespace std; #include "msg/SimpleMessenger.h" +#include "include/nstring.h" + #include "common/Timer.h" void usage() @@ -77,6 +79,14 @@ int main(int argc, const char **argv) } 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); diff --git a/src/include/ceph_fs.h b/src/include/ceph_fs.h index 114b453a037ce..fcc246600bdaa 100644 --- a/src/include/ceph_fs.h +++ b/src/include/ceph_fs.h @@ -33,7 +33,9 @@ #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 diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc index abbfa5d693a0b..3147091d04a4d 100644 --- a/src/mon/Monitor.cc +++ b/src/mon/Monitor.cc @@ -526,6 +526,11 @@ int Monitor::mkfs() 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); -- 2.39.5