]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: ignore peer epoch of 0 on ping reply
authorSage Weil <sage.weil@dreamhost.com>
Fri, 30 Mar 2012 03:34:55 +0000 (20:34 -0700)
committerSage Weil <sage@newdream.net>
Fri, 30 Mar 2012 15:45:04 +0000 (08:45 -0700)
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
src/osd/OSD.cc

index 444299bc54fd6ad95e1a99cbd44c1a559e7be357..a422f6ed5ee6067ba7e9d1ad3e12ab01b06cf5da 100644 (file)
@@ -1558,7 +1558,8 @@ void OSD::handle_osd_ping(MOSDPing *m)
        i->second.last_rx = m->stamp;
       }
 
-      if (osdmap->is_up(from)) {
+      if (m->map_epoch &&        // peer may not have gotten map_lock on ping reply
+         osdmap->is_up(from)) {
        note_peer_epoch(from, m->map_epoch);
        if (locked && is_active())
          _share_map_outgoing(osdmap->get_cluster_inst(from));