]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: add set of additional peers to probe
authorSage Weil <sage@inktank.com>
Thu, 17 May 2012 19:37:36 +0000 (12:37 -0700)
committerSage Weil <sage@inktank.com>
Fri, 18 May 2012 23:23:56 +0000 (16:23 -0700)
Probe an additional set of peers, not included in the monmap.

Incomplete; we'll still assume they *can* form a quorum.  See next patch.

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

index 3a741d61f1bcb923c38ceb113c7a4bf156563ca7..4057172abfbca43e15d09b738c3d32e7d4327f04 100644 (file)
@@ -462,6 +462,16 @@ void Monitor::bootstrap()
       messenger->send_message(new MMonProbe(monmap->fsid, MMonProbe::OP_PROBE, name, has_ever_joined),
                              monmap->get_inst(i));
   }
+  for (set<entity_addr_t>::iterator p = extra_probe_peers.begin();
+       p != extra_probe_peers.end();
+       ++p) {
+    if (*p != messenger->get_myaddr()) {
+      entity_inst_t i;
+      i.name = entity_name_t::MON(-1);
+      i.addr = *p;
+      messenger->send_message(new MMonProbe(monmap->fsid, MMonProbe::OP_PROBE, name, has_ever_joined), i);
+    }
+  }
 }
 
 // called by bootstrap(), or on leader|peon -> electing
index f21edb95ad2b0e3b4db2d4d9c9a411f8fa60e235..116e43e2706323e277beca1b0cc128b2adf5a811 100644 (file)
@@ -115,6 +115,8 @@ public:
 
   MonMap *monmap;
 
+  set<entity_addr_t> extra_probe_peers;
+
   LogClient clog;
   KeyRing keyring;
   KeyServer key_server;