void OSD::handle_pg_log(OpRequestRef op)
{
MOSDPGLog *m = (MOSDPGLog*) op->get_req();
- assert(m->get_header().type == MSG_OSD_PG_LOG);
+ assert(m->get_type() == MSG_OSD_PG_LOG);
dout(7) << "handle_pg_log " << *m << " from " << m->get_source() << dendl;
- if (!require_osd_peer(op))
+ if (!require_osd_peer(op->get_req()))
return;
int from = m->get_source().num();
void OSD::handle_pg_info(OpRequestRef op)
{
MOSDPGInfo *m = static_cast<MOSDPGInfo *>(op->get_req());
- assert(m->get_header().type == MSG_OSD_PG_INFO);
+ assert(m->get_type() == MSG_OSD_PG_INFO);
dout(7) << "handle_pg_info " << *m << " from " << m->get_source() << dendl;
- if (!require_osd_peer(op))
+ if (!require_osd_peer(op->get_req()))
return;
int from = m->get_source().num();
void OSD::handle_pg_backfill_reserve(OpRequestRef op)
{
MBackfillReserve *m = static_cast<MBackfillReserve*>(op->get_req());
- assert(m->get_header().type == MSG_OSD_BACKFILL_RESERVE);
+ assert(m->get_type() == MSG_OSD_BACKFILL_RESERVE);
- if (!require_osd_peer(op))
+ if (!require_osd_peer(op->get_req()))
return;
if (!require_same_or_newer_map(op, m->query_epoch, false))
return;
void OSD::handle_pg_recovery_reserve(OpRequestRef op)
{
MRecoveryReserve *m = static_cast<MRecoveryReserve*>(op->get_req());
- assert(m->get_header().type == MSG_OSD_RECOVERY_RESERVE);
+ assert(m->get_type() == MSG_OSD_RECOVERY_RESERVE);
- if (!require_osd_peer(op))
+ if (!require_osd_peer(op->get_req()))
return;
if (!require_same_or_newer_map(op, m->query_epoch, false))
return;
assert(osd_lock.is_locked());
MOSDPGQuery *m = (MOSDPGQuery*)op->get_req();
- assert(m->get_header().type == MSG_OSD_PG_QUERY);
+ assert(m->get_type() == MSG_OSD_PG_QUERY);
- if (!require_osd_peer(op))
+ if (!require_osd_peer(op->get_req()))
return;
dout(7) << "handle_pg_query from " << m->get_source() << " epoch " << m->get_epoch() << dendl;
void OSD::handle_pg_remove(OpRequestRef op)
{
MOSDPGRemove *m = (MOSDPGRemove *)op->get_req();
- assert(m->get_header().type == MSG_OSD_PG_REMOVE);
+ assert(m->get_type() == MSG_OSD_PG_REMOVE);
assert(osd_lock.is_locked());
- if (!require_osd_peer(op))
+ if (!require_osd_peer(op->get_req()))
return;
dout(7) << "handle_pg_remove from " << m->get_source() << " on "
void OSD::handle_replica_op(OpRequestRef& op, OSDMapRef& osdmap)
{
T *m = static_cast<T *>(op->get_req());
- assert(m->get_header().type == MSGTYPE);
+ assert(m->get_type() == MSGTYPE);
dout(10) << __func__ << " " << *m << " epoch " << m->map_epoch << dendl;
- epoch_t up_epoch = service.get_up_epoch();
- if (m->map_epoch < up_epoch) {
- dout(3) << "replica op from before up" << dendl;
- return;
- }
-
- if (!require_self_aliveness(op, m->map_epoch))
+ if (!require_self_aliveness(op->get_req(), m->map_epoch))
return;
- if (!require_osd_peer(op))
+ if (!require_osd_peer(op->get_req()))
return;
if (osdmap->get_epoch() >= m->map_epoch &&
- !require_same_peer_instance(op, osdmap, true))
+ !require_same_peer_instance(op->get_req(), osdmap, true))
return;
// must be a rep op.