]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson: Trigger a wake operation via acquire_throttle 61647/head
authorMohit Agrawal <moagrawa@redhat.com>
Wed, 26 Feb 2025 11:39:33 +0000 (17:09 +0530)
committerMohit Agrawal <moagrawa@redhat.com>
Wed, 26 Feb 2025 11:39:33 +0000 (17:09 +0530)
The background recovery is not showing any progress for crimson when
crimson_osd_scheduler_concurrency is set more than 0. After read the
source code it seems the recovery was not showing any progress because
initially the queue is empty it was waiting for a future that eventually
available after call wake() so call a wake() operation to return a future.

Fixes: https://tracker.ceph.com/issues/69788
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
src/crimson/osd/osd_operation.cc

index 0d7ad313865a895c184de92b920c3403eff88a95..07fff56280c912675f378b6be060028e9becb023 100644 (file)
@@ -178,6 +178,7 @@ seastar::future<> OperationThrottler::acquire_throttle(
   crimson::osd::scheduler::item_t item{params, seastar::promise<>()};
   auto fut = item.wake.get_future();
   scheduler->enqueue(std::move(item));
+  wake();
   return fut;
 }