Skip to content

Commit c426a2b

Browse files
committed
crimson: Trigger a wake operation via acquire_throttle
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 <[email protected]>
1 parent 21f73a4 commit c426a2b

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

src/crimson/osd/osd_operation.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,7 @@ seastar::future<> OperationThrottler::acquire_throttle(
178178
crimson::osd::scheduler::item_t item{params, seastar::promise<>()};
179179
auto fut = item.wake.get_future();
180180
scheduler->enqueue(std::move(item));
181+
wake();
181182
return fut;
182183
}
183184

0 commit comments

Comments
 (0)