From f1284758b38f74765407177bd7449f696d95eb04 Mon Sep 17 00:00:00 2001 From: Ronen Friedman Date: Thu, 14 Mar 2024 11:07:31 -0500 Subject: [PATCH] osd/scrub: verify m_reservations existence Following clang-tidy's advice. Signed-off-by: Ronen Friedman --- src/osd/scrubber/scrub_machine.cc | 8 +++++++- src/osd/scrubber/scrub_reservations.cc | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/osd/scrubber/scrub_machine.cc b/src/osd/scrubber/scrub_machine.cc index ce4196e1ebb..ffb99a8a67e 100644 --- a/src/osd/scrubber/scrub_machine.cc +++ b/src/osd/scrubber/scrub_machine.cc @@ -214,6 +214,7 @@ sc::result Session::react(const IntervalChanged&) DECLARE_LOCALS; // 'scrbr' & 'pg_id' aliases dout(10) << "Session::react(const IntervalChanged&)" << dendl; + ceph_assert(m_reservations); m_reservations->discard_remote_reservations(); return transit(); } @@ -267,7 +268,9 @@ sc::result ReservingReplicas::react(const ReplicaGrant& ev) dout(10) << "ReservingReplicas::react(const ReplicaGrant&)" << dendl; const auto& m = ev.m_op->get_req(); - if (context().m_reservations->handle_reserve_grant(*m, ev.m_from)) { + auto& session = context(); + ceph_assert(session.m_reservations); + if (session.m_reservations->handle_reserve_grant(*m, ev.m_from)) { // we are done with the reservation process return transit(); } @@ -279,6 +282,7 @@ sc::result ReservingReplicas::react(const ReplicaReject& ev) DECLARE_LOCALS; // 'scrbr' & 'pg_id' aliases auto& session = context(); dout(10) << "ReservingReplicas::react(const ReplicaReject&)" << dendl; + ceph_assert(session.m_reservations); const auto m = ev.m_op->get_req(); // Verify that the message is from the replica we were expecting a reply from, @@ -306,6 +310,8 @@ sc::result ReservingReplicas::react(const ReservationTimeout&) DECLARE_LOCALS; // 'scrbr' & 'pg_id' aliases auto& session = context(); dout(10) << "ReservingReplicas::react(const ReservationTimeout&)" << dendl; + ceph_assert(session.m_reservations); + session.m_reservations->log_failure_and_duration(scrbcnt_resrv_timed_out); const auto msg = fmt::format( diff --git a/src/osd/scrubber/scrub_reservations.cc b/src/osd/scrubber/scrub_reservations.cc index 284d9029057..918bf486925 100644 --- a/src/osd/scrubber/scrub_reservations.cc +++ b/src/osd/scrubber/scrub_reservations.cc @@ -98,6 +98,7 @@ void ReplicaReservations::discard_remote_reservations() void ReplicaReservations::log_success_and_duration() { + ceph_assert(m_process_started_at.has_value()); auto logged_duration = ScrubClock::now() - m_process_started_at.value(); m_perf_set.tinc(scrbcnt_resrv_successful_elapsed, logged_duration); m_perf_set.inc(scrbcnt_resrv_success); -- 2.39.5