]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: add peers probing us to extra peer list
authorSage Weil <sage@inktank.com>
Fri, 18 May 2012 00:50:49 +0000 (17:50 -0700)
committerSage Weil <sage@inktank.com>
Fri, 18 May 2012 23:23:58 +0000 (16:23 -0700)
If we are probed by another monitor, add them to our extra probe list. This
lets us rely on the active probe/reply to gather information and not infer
anything from here.

Signed-off-by: Sage Weil <sage@inktank.com>
src/mon/Monitor.cc

index a643533aa02ac2e42ed3c2c6f44ee8b7c93e07b1..6ac23f8f9fa9d24637208cc816df537f4016eb43 100644 (file)
@@ -649,6 +649,13 @@ void Monitor::handle_probe_probe(MMonProbe *m)
   for (vector<Paxos*>::iterator p = paxos.begin(); p != paxos.end(); ++p)
     r->paxos_versions[(*p)->get_machine_name()] = (*p)->get_version();
   messenger->send_message(r, m->get_connection());
+
+  // did we discover a peer here?
+  if (!monmap->contains(m->get_source_addr())) {
+    dout(1) << " adding peer " << m->get_source_addr() << " to list of hints" << dendl;
+    extra_probe_peers.insert(m->get_source_addr());
+  }
+
   m->put();
 }