This ensures that they get new maps before an op which requires them (that
they would then request from the monitor).
Signed-off-by: Greg Farnum <greg@inktank.com>
m->put();
return;
}
- osd->cluster_messenger->send_message(m, next_osdmap->get_cluster_inst(peer));
+ const entity_inst_t& peer_inst = next_osdmap->get_cluster_inst(peer);
+ Connection *peer_con = osd->cluster_messenger->get_connection(peer_inst).get();
+ osd->_share_map_outgoing(peer, peer_con, next_osdmap);
+ osd->cluster_messenger->send_message(m, peer_inst);
}
ConnectionRef OSDService::get_con_osd_cluster(int peer, epoch_t from_epoch)
void dequeue_pg(PG *pg, list<OpRequestRef> *dequeued);
// -- superblock --
- Mutex publish_lock, pre_publish_lock;
+ Mutex publish_lock, pre_publish_lock; // pre-publish orders before publish
OSDSuperblock superblock;
OSDSuperblock get_superblock() {
Mutex::Locker l(publish_lock);