template <typename MsgType>
bool can_discard_replica_op(const MsgType& m) const {
- return can_discard_replica_op(m, m.map_epoch);
+ return can_discard_replica_op(m, m.get_map_epoch());
}
private:
{
logger().debug("{} m.ls={}", __func__, m.ls);
assert(m.get_type() == MSG_OSD_PG_BACKFILL_REMOVE);
- if (pg.can_discard_replica_op(m)) {
- logger().debug("{}: discarding {}", __func__, m);
- return seastar::now();
- }
+
ObjectStore::Transaction t;
for ([[maybe_unused]] const auto& [soid, ver] : m.ls) {
// TODO: the reserved space management. PG::try_reserve_recovery_space().
Ref<MOSDFastDispatchOp> m,
crimson::net::ConnectionXcoreRef conn)
{
+ if (pg.can_discard_replica_op(*m)) {
+ logger().debug("{}: discarding {}", __func__, *m);
+ return seastar::now();
+ }
+
switch (m->get_header().type) {
case MSG_OSD_PG_PULL:
return handle_pull(boost::static_pointer_cast<MOSDPGPull>(m));