crimson/osd/pg: also trigger callbacks for empty peering transactions

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
This commit is contained in:
Xuehan Xu 2024-09-25 07:44:46 +08:00
parent ec2af67dba
commit b0f5e1086a

View File

@ -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(