summaryrefslogtreecommitdiff
path: root/src/mon
diff options
context:
space:
mode:
Diffstat (limited to 'src/mon')
-rw-r--r--src/mon/MDSMonitor.cc2
-rw-r--r--src/mon/Monitor.cc19
2 files changed, 11 insertions, 10 deletions
diff --git a/src/mon/MDSMonitor.cc b/src/mon/MDSMonitor.cc
index 09e07b96f24..2817fea026b 100644
--- a/src/mon/MDSMonitor.cc
+++ b/src/mon/MDSMonitor.cc
@@ -62,7 +62,7 @@ void MDSMonitor::create_new_fs(MDSMap &m, int metadata_pool, int data_pool)
m.data_pg_pools.push_back(data_pool);
m.metadata_pg_pool = metadata_pool;
m.cas_pg_pool = -1;
- m.compat = mdsmap_compat;
+ m.compat = get_mdsmap_compat_set();
print_map(m);
}
diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc
index ac7eeafadb4..b895c2b2a26 100644
--- a/src/mon/Monitor.cc
+++ b/src/mon/Monitor.cc
@@ -82,12 +82,15 @@ static ostream& _prefix(std::ostream *_dout, Monitor *mon) {
<< " ";
}
-const CompatSet::Feature ceph_mon_feature_compat[] =
- {END_FEATURE};
-const CompatSet::Feature ceph_mon_feature_ro_compat[] =
- {END_FEATURE};
-const CompatSet::Feature ceph_mon_feature_incompat[] =
- { CEPH_MON_FEATURE_INCOMPAT_BASE , CompatSet::Feature(0, "")};
+CompatSet get_ceph_mon_feature_compat_set()
+{
+ CompatSet::FeatureSet ceph_mon_feature_compat;
+ CompatSet::FeatureSet ceph_mon_feature_ro_compat;
+ CompatSet::FeatureSet ceph_mon_feature_incompat;
+ ceph_mon_feature_incompat.insert(CEPH_MON_FEATURE_INCOMPAT_BASE);
+ return CompatSet(ceph_mon_feature_compat, ceph_mon_feature_ro_compat,
+ ceph_mon_feature_incompat);
+}
#ifdef ENABLE_COVERAGE
void handle_signal(int signal)
@@ -1097,9 +1100,7 @@ int Monitor::mkfs(bufferlist& osdmapbl)
}
bufferlist features;
- CompatSet mon_features(ceph_mon_feature_compat,
- ceph_mon_feature_ro_compat,
- ceph_mon_feature_incompat);
+ CompatSet mon_features = get_ceph_mon_feature_compat_set();
mon_features.encode(features);
store->put_bl_ss(features, COMPAT_SET_LOC, 0);