From: Radoslaw Zarzynski Date: Tue, 26 Jul 2022 12:46:01 +0000 (+0000) Subject: crimson/osd: comment on `dispatched` in OSD::ms_dispatch() X-Git-Tag: v18.0.0~420^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=15eeada3054ca48f1966db238ffc41d60c7b3918;p=ceph.git crimson/osd: comment on `dispatched` in OSD::ms_dispatch() Signed-off-by: Radoslaw Zarzynski --- diff --git a/src/crimson/osd/osd.cc b/src/crimson/osd/osd.cc index 7a3612a011ac..4ad6ca55bebf 100644 --- a/src/crimson/osd/osd.cc +++ b/src/crimson/osd/osd.cc @@ -669,6 +669,9 @@ OSD::ms_dispatch(crimson::net::ConnectionRef conn, MessageRef m) if (pg_shard_manager.is_stopping()) { return {}; } + // XXX: we're assuming the `switch` part is executed immediately, and thus + // we won't smash the stack. Taking into account how `seastar::with_gate` + // is currently implemented, this seems to be the case (Summer 2022). bool dispatched = true; gate.dispatch_in_background(__func__, *this, [this, conn=std::move(conn), m=std::move(m), &dispatched] {