]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osdc/Objecter: Fix a bug of dead looping in Objecter::handle_osd_map 2851/head
authorDing Dinghua <dingdinghua85@gmail.com>
Thu, 30 Oct 2014 06:58:42 +0000 (14:58 +0800)
committerSage Weil <sage@redhat.com>
Sun, 2 Nov 2014 22:52:16 +0000 (14:52 -0800)
If current map epoch is less than oldest epoch, current map epoch
should step up to oldest epoch.

Fixes: #9986
Signed-off-by: Ding Dinghua <dingdinghua85@gmail.com>
src/osdc/Objecter.cc

index 36cac7572d455d59ef46170eaa3a515f887eeb21..101526dd431ea83b2606ae983aca03f8a638fd4b 100644 (file)
@@ -776,7 +776,7 @@ void Objecter::handle_osd_map(MOSDMap *m)
          logger->inc(l_osdc_map_full);
        }
        else {
-         if (e > m->get_oldest()) {
+         if (e >= m->get_oldest()) {
            ldout(cct, 3) << "handle_osd_map requesting missing epoch "
                          << osdmap->get_epoch()+1 << dendl;
            int r = _maybe_request_map();