MOSDOp *m = (MOSDOp*)op->request;
assert(m->get_header().type == CEPH_MSG_OSD_OP);
if (op_is_discardable(m)) {
+ dout(10) << " discardable " << *m << dendl;
return;
}
return;
}
if (must_delay_request(op)) {
+ dout(20) << " waiting for map on " << op << dendl;
waiting_for_map.push_back(op);
return;
}
return;
}
if (!flushed) {
+ dout(20) << " !flushed, waiting for active on " << op << dendl;
waiting_for_active.push_back(op);
return;
}
switch (op->request->get_type()) {
case CEPH_MSG_OSD_OP:
if (is_replay() || !is_active()) {
+ dout(20) << " replay, waiting for active on " << op << dendl;
waiting_for_active.push_back(op);
return;
}
{
MOSDOp *m = (MOSDOp*)op->request;
if (OSD::op_is_discardable(m)) {
+ dout(20) << " discard " << *m << dendl;
return true;
} else if (op->may_write() &&
(!is_primary() ||