From e059d586c6399d85cb126544aa94f9e028255ea6 Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Tue, 17 Feb 2015 15:11:14 -0800 Subject: [PATCH 1/2] ReplicatedBackend: use tbl for empty transaction to backfill peer also Fixes: 10908 Signed-off-by: Samuel Just --- src/osd/ReplicatedPG.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index d41d6e73884..6ba5c3bad56 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -7678,6 +7678,7 @@ Message * ReplicatedBackend::generate_subop( << ", pinfo.last_backfill " << pinfo.last_backfill << ")" << dendl; ObjectStore::Transaction t; + t.set_use_tbl(op_t->get_use_tbl()); ::encode(t, wr->get_data()); } else { ::encode(*op_t, wr->get_data()); From d05539e13ad793f3849cf3294c0a37e40e729935 Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Tue, 17 Feb 2015 15:30:49 -0800 Subject: [PATCH 2/2] ECBackend: use tbl for empty transaction as well if necessary Signed-off-by: Samuel Just --- src/osd/ECBackend.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/osd/ECBackend.cc b/src/osd/ECBackend.cc index 9558f144b96..951b249aaeb 100644 --- a/src/osd/ECBackend.cc +++ b/src/osd/ECBackend.cc @@ -1518,6 +1518,9 @@ void ECBackend::start_write(Op *op) { trans[i->shard]; trans[i->shard].set_use_tbl(parent->transaction_use_tbl()); } + ObjectStore::Transaction empty; + empty.set_use_tbl(parent->transaction_use_tbl()); + op->t->generate_transactions( op->unstable_hash_infos, ec_impl, @@ -1557,7 +1560,7 @@ void ECBackend::start_write(Op *op) { op->reqid, op->hoid, stats, - should_send ? iter->second : ObjectStore::Transaction(), + should_send ? iter->second : empty, op->version, op->trim_to, op->trim_rollback_to,