From: Sage Weil Date: Thu, 22 Jan 2015 02:41:11 +0000 (-0800) Subject: osd: avoid txn append in ReplicatedBackend::sub_op_modify X-Git-Tag: v9.0.2~87^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=193f1e33b3bf4b40f7d59b1822d01c735daa9c32;p=ceph.git osd: avoid txn append in ReplicatedBackend::sub_op_modify Signed-off-by: Sage Weil --- diff --git a/src/osd/ReplicatedBackend.cc b/src/osd/ReplicatedBackend.cc index 44614d8e694d..19c3ee401be1 100644 --- a/src/osd/ReplicatedBackend.cc +++ b/src/osd/ReplicatedBackend.cc @@ -1203,14 +1203,16 @@ void ReplicatedBackend::sub_op_modify_impl(OpRequestRef op) op->mark_started(); - rm->localt.append(rm->opt); - rm->localt.register_on_commit( + rm->opt.register_on_commit( parent->bless_context( new C_OSD_RepModifyCommit(this, rm))); rm->localt.register_on_applied( parent->bless_context( new C_OSD_RepModifyApply(this, rm))); - parent->queue_transaction(&(rm->localt), op); + list tls; + tls.push_back(&(rm->localt)); + tls.push_back(&(rm->opt)); + parent->queue_transactions(tls, op); // op is cleaned up by oncommit/onapply when both are executed }