Only defined when is_active(). Only printed when it lags (i.e. we are
in the process of replicating and/or writing an update.
min_last_complete_ondisk = eversion_t();
stray_purged.clear();
+ last_update_ondisk = eversion_t();
+
snap_trimq.clear();
finish_sync_event = 0; // so that _finish_recvoery doesn't go off in another thread
trim_past_intervals();
if (role == 0) { // primary state
+ last_update_ondisk = info.last_update;
min_last_complete_ondisk = eversion_t(0,0); // we don't know (yet)!
}
int state; // see bit defns above
public:
+ eversion_t last_update_ondisk; // last_update that has committed; ONLY DEFINED WHEN is_active()
eversion_t last_complete_ondisk; // last_complete that has committed.
// primary state
out << "/" << pg.acting;
out << " r=" << pg.get_role();
+ if (pg.is_active() &&
+ pg.last_update_ondisk != pg.info.last_update)
+ out << " luod=" << pg.last_update_ondisk;
+
if (pg.recovery_ops_active)
out << " rops=" << pg.recovery_ops_active;
dout(10) << "op_commit " << *repop << dendl;
repop->waitfor_disk.erase(osd->get_nodeid());
//repop->waitfor_nvram.erase(osd->get_nodeid());
+ last_update_ondisk = repop->v;
last_complete_ondisk = repop->pg_local_last_complete;
eval_repop(repop);
}