]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
osd/scrub: verify m_reservations existence
authorRonen Friedman <rfriedma@redhat.com>
Thu, 14 Mar 2024 16:07:31 +0000 (11:07 -0500)
committerRonen Friedman <rfriedma@redhat.com>
Thu, 14 Mar 2024 16:13:16 +0000 (11:13 -0500)
Following clang-tidy's advice.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
src/osd/scrubber/scrub_machine.cc
src/osd/scrubber/scrub_reservations.cc

index ce4196e1ebbb13a832d3499a7d14b4e8275450d1..ffb99a8a67ef0ab611c2f20ce105b458025a75b0 100644 (file)
@@ -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<NotActive>();
 }
@@ -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<MOSDScrubReserve>();
 
-  if (context<Session>().m_reservations->handle_reserve_grant(*m, ev.m_from)) {
+  auto& session = context<Session>();
+  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<ActiveScrubbing>();
   }
@@ -279,6 +282,7 @@ sc::result ReservingReplicas::react(const ReplicaReject& ev)
   DECLARE_LOCALS;  // 'scrbr' & 'pg_id' aliases
   auto& session = context<Session>();
   dout(10) << "ReservingReplicas::react(const ReplicaReject&)" << dendl;
+  ceph_assert(session.m_reservations);
   const auto m = ev.m_op->get_req<MOSDScrubReserve>();
 
   // 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<Session>();
   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(
index 284d90290578a2e2b8a8297cb3dc8af983fbc4b9..918bf4869254804cf32ec649ae361e1b612a545c 100644 (file)
@@ -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);