#include "messages/MOSDPGMissing.h"
#include "messages/MBackfillReserve.h"
#include "messages/MRecoveryReserve.h"
+#include "messages/MOSDECSubOpWrite.h"
+#include "messages/MOSDECSubOpWriteReply.h"
+#include "messages/MOSDECSubOpRead.h"
+#include "messages/MOSDECSubOpReadReply.h"
#include "messages/MOSDAlive.h"
case MSG_OSD_PG_PUSH_REPLY:
handle_replica_op<MOSDPGPushReply, MSG_OSD_PG_PUSH_REPLY>(op);
break;
+ case MSG_OSD_EC_WRITE:
+ handle_replica_op<MOSDECSubOpWrite, MSG_OSD_EC_WRITE>(op);
+ break;
+ case MSG_OSD_EC_WRITE_REPLY:
+ handle_replica_op<MOSDECSubOpWriteReply, MSG_OSD_EC_WRITE_REPLY>(op);
+ break;
+ case MSG_OSD_EC_READ:
+ handle_replica_op<MOSDECSubOpRead, MSG_OSD_EC_READ>(op);
+ break;
+ case MSG_OSD_EC_READ_REPLY:
+ handle_replica_op<MOSDECSubOpReadReply, MSG_OSD_EC_READ_REPLY>(op);
+ break;
}
}
#include "messages/MOSDPGPush.h"
#include "messages/MOSDPGPushReply.h"
#include "messages/MOSDPGPull.h"
+#include "messages/MOSDECSubOpWrite.h"
+#include "messages/MOSDECSubOpWriteReply.h"
+#include "messages/MOSDECSubOpRead.h"
+#include "messages/MOSDECSubOpReadReply.h"
#include "messages/MOSDSubOp.h"
#include "messages/MOSDSubOpReply.h"
return can_discard_replica_op<MOSDPGPushReply, MSG_OSD_PG_PUSH_REPLY>(op);
case MSG_OSD_SUBOPREPLY:
return false;
+
+ case MSG_OSD_EC_WRITE:
+ return can_discard_replica_op<MOSDECSubOpWrite, MSG_OSD_EC_WRITE>(op);
+ case MSG_OSD_EC_WRITE_REPLY:
+ return can_discard_replica_op<MOSDECSubOpWriteReply, MSG_OSD_EC_WRITE_REPLY>(op);
+ case MSG_OSD_EC_READ:
+ return can_discard_replica_op<MOSDECSubOpRead, MSG_OSD_EC_READ>(op);
+ case MSG_OSD_EC_READ_REPLY:
+ return can_discard_replica_op<MOSDECSubOpReadReply, MSG_OSD_EC_READ_REPLY>(op);
+
case MSG_OSD_PG_SCAN:
return can_discard_scan(op);
-
case MSG_OSD_PG_BACKFILL:
return can_discard_backfill(op);
}
return !have_same_or_newer_map(
curmap,
static_cast<MOSDPGPushReply*>(op->get_req())->map_epoch);
+
+ case MSG_OSD_EC_WRITE:
+ return !have_same_or_newer_map(
+ curmap,
+ static_cast<MOSDECSubOpWrite*>(op->get_req())->map_epoch);
+
+ case MSG_OSD_EC_WRITE_REPLY:
+ return !have_same_or_newer_map(
+ curmap,
+ static_cast<MOSDECSubOpWriteReply*>(op->get_req())->map_epoch);
+
+ case MSG_OSD_EC_READ:
+ return !have_same_or_newer_map(
+ curmap,
+ static_cast<MOSDECSubOpRead*>(op->get_req())->map_epoch);
+
+ case MSG_OSD_EC_READ_REPLY:
+ return !have_same_or_newer_map(
+ curmap,
+ static_cast<MOSDECSubOpReadReply*>(op->get_req())->map_epoch);
}
assert(0);
return false;