From c96aa62d84d6279607b310f451e989f5906b19ab Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 22 May 2012 11:41:25 -0700 Subject: [PATCH] osd: verify fsid whoami to match on repeat mkfs Signed-off-by: Sage Weil --- src/osd/OSD.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 7c7ba3d6a3560..c25d5e0146840 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -305,6 +305,16 @@ int OSD::mkfs(const std::string &dev, const std::string &jdev, uuid_d fsid, int ret = store->read(coll_t::META_COLL, OSD_SUPERBLOCK_POBJECT, 0, 0, sbbl); if (ret >= 0) { dout(0) << " have superblock" << dendl; + if (whoami != sb.whoami) { + derr << "provided osd id " << whoami << " != superblock's " << sb.whoami << dendl; + ret = -EINVAL; + goto umount_store; + } + if (fsid != sb.cluster_fsid) { + derr << "provided cluster fsid " << fsid << " != superblock's " << sb.cluster_fsid << dendl; + ret = -EINVAL; + goto umount_store; + } } else { // create superblock if (fsid.is_zero()) { -- 2.39.5