]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/osd/pg: re-call queue_check_readable if not yet readable
authorSamuel Just <sjust@redhat.com>
Tue, 13 Sep 2022 02:09:11 +0000 (02:09 +0000)
committerSamuel Just <sjust@redhat.com>
Tue, 13 Sep 2022 02:13:44 +0000 (19:13 -0700)
We need to requeue the check if not enough time has elapsed, or
we'll stay stuck in the wait state.

Fixes: https://tracker.ceph.com/issues/57506
Introduced: 51cabbff7b51c01853bf159e513bc889287306c4
Signed-off-by: Samuel Just <sjust@redhat.com>
src/crimson/osd/pg.cc

index 30fc937cbba5f1edd6d5f656af1fb64fac5c296f..3d9751e5822e5f910cfe6c3e7dce3caf40c1bd22 100644 (file)
@@ -194,6 +194,9 @@ void PG::recheck_readable()
     if (mnow < prior_readable_until_ub) {
       logger().info("{} will wait (mnow {} < prior_readable_until_ub {})",
                    __func__, mnow, prior_readable_until_ub);
+      queue_check_readable(
+       peering_state.get_last_peering_reset(),
+       prior_readable_until_ub - mnow);
     } else {
       logger().info("{} no longer wait (mnow {} >= prior_readable_until_ub {})",
                    __func__, mnow, prior_readable_until_ub);