From: Xuehan Xu Date: Tue, 24 Sep 2024 23:44:46 +0000 (+0800) Subject: crimson/osd/pg: also trigger callbacks for empty peering transactions X-Git-Tag: v20.0.0~848^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b0f5e1086a64a4ad249fbd27b8fb256de38ca1bd;p=ceph.git crimson/osd/pg: also trigger callbacks for empty peering transactions Signed-off-by: Xuehan Xu --- diff --git a/src/crimson/osd/shard_services.cc b/src/crimson/osd/shard_services.cc index 5f7c4a62447..df6d10d6aa7 100644 --- a/src/crimson/osd/shard_services.cc +++ b/src/crimson/osd/shard_services.cc @@ -767,14 +767,20 @@ seastar::future<> ShardServices::dispatch_context_transaction( LOG_PREFIX(OSDSingletonState::dispatch_context_transaction); if (ctx.transaction.empty()) { DEBUG("empty transaction"); - return seastar::now(); + co_await get_store().flush(col); + Context* on_commit( + ceph::os::Transaction::collect_all_contexts(ctx.transaction)); + if (on_commit) { + on_commit->complete(0); + } + co_return; } DEBUG("do_transaction ..."); - auto ret = get_store().do_transaction( + co_await get_store().do_transaction( col, ctx.transaction.claim_and_reset()); - return ret; + co_return; } seastar::future<> ShardServices::dispatch_context_messages(