From: Radoslaw Zarzynski Date: Wed, 23 Nov 2022 21:30:02 +0000 (+0000) Subject: crimson/osd: PerShardState::start_operation() doesn't assume Ret is seastar::future<> X-Git-Tag: v18.1.0~260^2~30 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e57d3bb082670d222e1fd3c0ef1c85c680bd3d55;p=ceph.git crimson/osd: PerShardState::start_operation() doesn't assume Ret is seastar::future<> Signed-off-by: Radoslaw Zarzynski --- diff --git a/src/crimson/osd/shard_services.h b/src/crimson/osd/shard_services.h index f366b96c9c24..3cf807e8ca34 100644 --- a/src/crimson/osd/shard_services.h +++ b/src/crimson/osd/shard_services.h @@ -132,7 +132,7 @@ class PerShardState { auto op = registry.create_operation(std::forward(args)...); crimson::get_logger(ceph_subsys_osd).info( "PerShardState::{}, {}", __func__, *op); - auto fut = op->start().then([op /* by copy */] { + auto fut = op->start().finally([op /* by copy */] { // ensure the op's lifetime is appropriate. It is not enough to // guarantee it's alive at the scheduling stages (i.e. `then()` // calling) but also during the actual execution (i.e. when passed