From 7c9425c3a897c70efe449b71f1dcaed0331249fa Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Wed, 15 Jan 2014 09:21:30 -0800 Subject: [PATCH] ReplicatedPG: fill in mod_desc in finish_copyfrom Signed-off-by: Samuel Just --- src/osd/ReplicatedPG.cc | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index a4c4d2d4d11c..2e2a36e0e2ad 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -5428,8 +5428,20 @@ void ReplicatedPG::finish_copyfrom(OpContext *ctx) ObjectState& obs = ctx->new_obs; CopyFromCallback *cb = static_cast(ctx->copy_cb); - if (obs.exists) { - ctx->op_t->remove(obs.oi.soid); + if (pool.info.ec_pool()) { + if (obs.exists) { + if (ctx->mod_desc.rmobject(ctx->at_version.version)) { + ctx->op_t->stash(obs.oi.soid, ctx->at_version.version); + } else { + ctx->op_t->remove(obs.oi.soid); + } + } + ctx->mod_desc.create(); + } else { + if (obs.exists) { + ctx->op_t->remove(obs.oi.soid); + } + ctx->mod_desc.mark_unrollbackable(); } if (!obs.exists) { -- 2.47.3