]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: refuse to boot if any pre-hammer or old hammer (<v0.94.4) are running 5686/head
authorSage Weil <sage@redhat.com>
Thu, 27 Aug 2015 18:08:06 +0000 (14:08 -0400)
committerSage Weil <sage@redhat.com>
Thu, 27 Aug 2015 18:11:23 +0000 (14:11 -0400)
Old OSDs don't understand us.

This is useful if the osd is upgraded before the mons.

Signed-off-by: Sage Weil <sage@redhat.com>
src/osd/OSD.cc

index f6a1fed1b0cfcc034219e130a980ae5ce38c972c..26a640972a62a40b98cffa3e142b91f37692f0c7 100644 (file)
@@ -4441,6 +4441,10 @@ void OSD::_maybe_boot(epoch_t oldest, epoch_t newest)
   } else if (!osdmap->test_flag(CEPH_OSDMAP_SORTBITWISE) &&
             !store->can_sort_nibblewise()) {
     dout(1) << "osdmap SORTBITWISE flag is NOT set but our backend does not support nibblewise sort" << dendl;
+  } else if (osdmap->get_num_up_osds() &&
+            (osdmap->get_up_osd_features() & CEPH_FEATURE_HAMMER_0_94_4) == 0) {
+    dout(1) << "osdmap indicates one or more pre-v0.94.4 hammer OSDs is running"
+           << dendl;
   } else if (is_waiting_for_healthy() || !_is_healthy()) {
     // if we are not healthy, do not mark ourselves up (yet)
     dout(1) << "not healthy; waiting to boot" << dendl;