+++ /dev/null
-From 3e90e5f70f5d43c28eee66a533f3d06f13815f6e Mon Sep 17 00:00:00 2001
-From: Sage Weil <sage@redhat.com>
-Date: Mon, 10 Apr 2017 17:36:37 -0400
-Subject: [PATCH 6/6] mon/OSDMonitor: tolerate upgrade from post-kraken dev
- cluster
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-If the 'creating' pgs key is missing, move on without crashing.
-
-Signed-off-by: Sage Weil <sage@redhat.com>
-Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
----
- src/mon/OSDMonitor.cc | 20 +++++++++++++-------
- 1 file changed, 13 insertions(+), 7 deletions(-)
-
-diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc
-index 554ba3a..46fea3e 100644
---- a/src/mon/OSDMonitor.cc
-+++ b/src/mon/OSDMonitor.cc
-@@ -251,12 +251,17 @@ void OSDMonitor::update_from_paxos(bool *need_bootstrap)
- ceph::features::mon::FEATURE_LUMINOUS)) {
- bufferlist bl;
- mon->store->get(OSD_PG_CREATING_PREFIX, "creating", bl);
-- auto p = bl.begin();
-- std::lock_guard<std::mutex> l(creating_pgs_lock);
-- creating_pgs.decode(p);
-- dout(7) << __func__ << " loading creating_pgs last_scan_epoch "
-- << creating_pgs.last_scan_epoch
-- << " with " << creating_pgs.pgs.size() << " pgs" << dendl;
-+ if (bl.length()) {
-+ auto p = bl.begin();
-+ std::lock_guard<std::mutex> l(creating_pgs_lock);
-+ creating_pgs.decode(p);
-+ dout(7) << __func__ << " loading creating_pgs last_scan_epoch "
-+ << creating_pgs.last_scan_epoch
-+ << " with " << creating_pgs.pgs.size() << " pgs" << dendl;
-+ } else {
-+ dout(1) << __func__ << " missing creating pgs; upgrade from post-kraken?"
-+ << dendl;
-+ }
- }
-
- // walk through incrementals
-@@ -268,7 +273,8 @@ void OSDMonitor::update_from_paxos(bool *need_bootstrap)
- assert(err == 0);
- assert(inc_bl.length());
-
-- dout(7) << "update_from_paxos applying incremental " << osdmap.epoch+1 << dendl;
-+ dout(7) << "update_from_paxos applying incremental " << osdmap.epoch+1
-+ << dendl;
- OSDMap::Incremental inc(inc_bl);
- err = osdmap.apply_incremental(inc);
- assert(err == 0);
---
-2.1.4
-