From df3b7adc122cc06af30d43544b0baf49dd5a488f Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Wed, 3 Jun 2009 11:21:38 -0700 Subject: [PATCH] osd: fix replication The shipped transaction wasn't getting applied to disk. --- src/osd/ReplicatedPG.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 14cdbdc7b07aa..efdc81f420f92 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -2012,6 +2012,9 @@ void ReplicatedPG::sub_op_modify(MOSDSubOp *op) dout(10) << "sub_op_modify " << opname << " " << soid << " v " << op->version + << (op->noop ? " NOOP" : "") + << (op->logbl.length() ? " (transaction)" : " (parallel exec") + << " " << op->logbl.length() << dendl; // sanity checks @@ -2031,12 +2034,12 @@ void ReplicatedPG::sub_op_modify(MOSDSubOp *op) osd->logger->inc(l_osd_r_wrb, op->get_data().length()); list tls; + ObjectStore::Transaction opt, localt; OpContext *ctx = 0; if (!op->noop) { if (op->logbl.length()) { // shipped transaction and log entries - ObjectStore::Transaction opt, localt; vector log; bufferlist::iterator p = op->get_data().begin(); @@ -2045,6 +2048,9 @@ void ReplicatedPG::sub_op_modify(MOSDSubOp *op) ::decode(log, p); log_op(log, localt); + + tls.push_back(&opt); + tls.push_back(&localt); } else { // do op ObjectState obs(op->poid); -- 2.39.5