peer_missing[from].swap(omissing);
}
-bool PG::proc_replica_info(int from, pg_info_t &oinfo)
+bool PG::proc_replica_info(int from, const pg_info_t &oinfo)
{
map<int,pg_info_t>::iterator p = peer_info.find(from);
if (p != peer_info.end() && p->second.last_update == oinfo.last_update) {
void PG::handle_peering_event(CephPeeringEvtRef evt, RecoveryCtx *rctx)
{
+ dout(10) << "handle_peering_event" << dendl;
if (!require_same_or_newer_map(evt->get_epoch_sent())) {
peering_waiters.push_back(evt);
return;
pg_missing_t& omissing, int from);
void proc_master_log(ObjectStore::Transaction& t, pg_info_t &oinfo, pg_log_t &olog,
pg_missing_t& omissing, int from);
- bool proc_replica_info(int from, pg_info_t &info);
+ bool proc_replica_info(int from, const pg_info_t &info);
bool merge_old_entry(ObjectStore::Transaction& t, pg_log_entry_t& oe);
void merge_log(ObjectStore::Transaction& t, pg_info_t &oinfo, pg_log_t &olog, int from);
void rewind_divergent_log(ObjectStore::Transaction& t, eversion_t newhead);
struct MInfoRec : boost::statechart::event< MInfoRec > {
int from;
- pg_info_t &info;
+ pg_info_t info;
MInfoRec(int from, pg_info_t &info) :
from(from), info(info) {}
};
struct MNotifyRec : boost::statechart::event< MNotifyRec > {
int from;
- pg_info_t &info;
+ pg_info_t info;
MNotifyRec(int from, pg_info_t &info) :
from(from), info(info) {}
};
struct MQuery : boost::statechart::event< MQuery > {
int from;
- const pg_query_t &query;
+ pg_query_t query;
epoch_t query_epoch;
MQuery(int from, const pg_query_t &query, epoch_t query_epoch):
from(from), query(query), query_epoch(query_epoch) {}