]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/PeeringState: fix missed `recheck_readable` from laggy 47901/head
author胡玮文 <huww98@outlook.com>
Fri, 7 Jan 2022 17:14:00 +0000 (01:14 +0800)
committerAishwarya Mathuria <amathuri@redhat.com>
Thu, 1 Sep 2022 13:39:05 +0000 (19:09 +0530)
Previously, the first `pg_lease_ack_t` after becoming laggy would not
trigger `recheck_readable`. However, every other ack would trigger it.
The logic is inverted, causing unnecessarily long laggy PG state.

Fixes: 3bb8a7210a6 (osd: requeue ops when PG is no longer laggy)
Fixes: https://tracker.ceph.com/issues/53806
Signed-off-by: 胡玮文 <huww98@outlook.com>
(cherry picked from commit caeca396e8b149cfa09ed99eda4f7a7186b005b4)

src/osd/PeeringState.cc

index f925d39a28f2ab7ae2e8ac8d00c8a842e9157fb1..19abf2021e3f39e8d76354736adcb23f6d4fb19f 100644 (file)
@@ -1220,7 +1220,7 @@ void PeeringState::proc_lease_ack(int from, const pg_lease_ack_t& a)
   if (was_min) {
     auto old_ru = readable_until;
     recalc_readable_until();
-    if (now < old_ru) {
+    if (now >= old_ru) {
       pl->recheck_readable();
     }
   }