]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/PeeringState: fix missed `recheck_readable` from laggy 44499/head
author胡玮文 <huww98@outlook.com>
Fri, 7 Jan 2022 17:14:00 +0000 (01:14 +0800)
committer胡玮文 <huww98@outlook.com>
Thu, 24 Feb 2022 09:25:50 +0000 (17:25 +0800)
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>
src/osd/PeeringState.cc

index cd092da62fd24f8387efbef8693eeabc5b5cd942..e3eb45b91af82bc133fb2639813f23ce7f7a9a26 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();
     }
   }