From dcceb8e835cbf40173c334de18bd68c2cf7f3716 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 29 Nov 2011 21:05:20 -0800 Subject: [PATCH] osd: include osd_fsid in OSDSuperblock Generated during mkfs. Signed-off-by: Sage Weil --- src/osd/OSD.cc | 3 +++ src/osd/osd_types.cc | 5 ++++- src/osd/osd_types.h | 3 ++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index e39dfe4382bfd..11ef3be202285 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -263,8 +263,11 @@ int OSD::mkfs(const std::string &dev, const std::string &jdev, uuid_d fsid, int int ret; ObjectStore *store = NULL; OSDSuperblock sb; + sb.cluster_fsid = fsid; + sb.whoami = whoami; + sb.osd_fsid.generate_random(); try { store = create_object_store(dev, jdev); diff --git a/src/osd/osd_types.cc b/src/osd/osd_types.cc index b5b522813b1c4..f8ead594ac0bd 100644 --- a/src/osd/osd_types.cc +++ b/src/osd/osd_types.cc @@ -522,7 +522,7 @@ ostream& operator<<(ostream& out, const pg_pool_t& p) void OSDSuperblock::encode(bufferlist &bl) const { - __u8 v = 3; + __u8 v = 4; ::encode(v, bl); ::encode(cluster_fsid, bl); @@ -534,6 +534,7 @@ void OSDSuperblock::encode(bufferlist &bl) const compat_features.encode(bl); ::encode(clean_thru, bl); ::encode(mounted, bl); + ::encode(osd_fsid, bl); } void OSDSuperblock::decode(bufferlist::iterator &bl) @@ -558,6 +559,8 @@ void OSDSuperblock::decode(bufferlist::iterator &bl) } ::decode(clean_thru, bl); ::decode(mounted, bl); + if (v >= 4) + ::decode(osd_fsid, bl); } diff --git a/src/osd/osd_types.h b/src/osd/osd_types.h index cbd694d76abf1..169166f4fa161 100644 --- a/src/osd/osd_types.h +++ b/src/osd/osd_types.h @@ -1107,7 +1107,7 @@ inline ostream& operator<<(ostream& out, const ObjectExtent &ex) class OSDSuperblock { public: - uuid_d cluster_fsid; + uuid_d cluster_fsid, osd_fsid; int32_t whoami; // my role in this fs. epoch_t current_epoch; // most recent epoch epoch_t oldest_map, newest_map; // oldest/newest maps we have. @@ -1134,6 +1134,7 @@ inline ostream& operator<<(ostream& out, const OSDSuperblock& sb) { return out << "sb(" << sb.cluster_fsid << " osd." << sb.whoami + << " " << sb.osd_fsid << " e" << sb.current_epoch << " [" << sb.oldest_map << "," << sb.newest_map << "]" << " lci=[" << sb.mounted << "," << sb.clean_thru << "]" -- 2.39.5