From: Sage Weil Date: Thu, 6 May 2010 22:27:07 +0000 (-0700) Subject: osdmap: initially osds don't exist; create them as they boot X-Git-Tag: v0.22~573 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=f0e6af935c20ce3f7dd66c04484835c63e0ec686;p=ceph.git osdmap: initially osds don't exist; create them as they boot --- diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index 24c15feffa16..9c1cf2af1140 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -434,8 +434,8 @@ bool OSDMonitor::prepare_boot(MOSDBoot *m) int from = m->get_orig_source().num(); // does this osd exist? - if (!osdmap.exists(from)) { - dout(1) << "boot from non-existent osd" << from << ", increase max_osd?" << dendl; + if (from >= osdmap.get_max_osd()) { + dout(1) << "boot from osd" << from << " >= max_osd " << osdmap.get_max_osd() << dendl; m->put(); return false; } diff --git a/src/osd/OSDMap.cc b/src/osd/OSDMap.cc index 5cea2a58b6d5..de706e03096c 100644 --- a/src/osd/OSDMap.cc +++ b/src/osd/OSDMap.cc @@ -119,7 +119,7 @@ void OSDMap::build_simple(epoch_t e, ceph_fsid_t &fsid, build_simple_crush_map(crush, rulesets, num_osd, num_dom); for (int i=0; i