if constexpr (!std::is_same_v<Ret, void>) {
if(op_info.may_write()) {
maybe_submit_error_log =
- submit_error_log(m, op_info, obc, e, rep_tid);
+ submit_error_log(
+ m, op_info, obc, e, rep_tid
+ ).then_interruptible([](auto &&e) {
+ return std::make_optional<eversion_t>(std::move(e));
+ });
}
}
return maybe_submit_error_log.then_interruptible(
return result;
}
-PG::interruptible_future<std::optional<eversion_t>> PG::submit_error_log(
+PG::interruptible_future<eversion_t> PG::submit_error_log(
Ref<MOSDOp> m,
const OpInfo &op_info,
ObjectContextRef obc,
get_collection_ref(), std::move(t)
).then([this] {
peering_state.update_trim_to();
- return seastar::make_ready_future<std::optional<eversion_t>>(projected_last_update);
+ return seastar::make_ready_future<eversion_t>(projected_last_update);
});
});
});
void dump_primary(Formatter*);
interruptible_future<> complete_error_log(const ceph_tid_t& rep_tid,
const eversion_t& version);
- interruptible_future<std::optional<eversion_t>> submit_error_log(
+ interruptible_future<eversion_t> submit_error_log(
Ref<MOSDOp> m,
const OpInfo &op_info,
ObjectContextRef obc,