From: Samuel Just Date: Tue, 13 Sep 2022 02:09:11 +0000 (+0000) Subject: crimson/osd/pg: re-call queue_check_readable if not yet readable X-Git-Tag: v18.0.0~3^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d1e9a2cc637b2ef6398fb59af114049894371944;p=ceph.git crimson/osd/pg: re-call queue_check_readable if not yet readable 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 --- diff --git a/src/crimson/osd/pg.cc b/src/crimson/osd/pg.cc index 30fc937cbba5..3d9751e5822e 100644 --- a/src/crimson/osd/pg.cc +++ b/src/crimson/osd/pg.cc @@ -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);