From: Zhiqiang Wang Date: Mon, 12 Sep 2016 04:29:54 +0000 (-0400) Subject: osd: fix the setting of soid in sub_op_push X-Git-Tag: v12.0.1~407^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=1842a910ccf64d0abf4fd4858af3f378f35bd8c4;p=ceph.git osd: fix the setting of soid in sub_op_push In the case of recovery pull using sub op, and if the prep push on remote peers fail for some reasons, recovery_info.soid is not set in prep_push_op_blank. Use it on the primary would lead to an assertion failure. Signed-off-by: Zhiqiang Wang --- diff --git a/src/osd/ReplicatedBackend.cc b/src/osd/ReplicatedBackend.cc index 6af8b333d65a..e56bd26c26de 100644 --- a/src/osd/ReplicatedBackend.cc +++ b/src/osd/ReplicatedBackend.cc @@ -2353,7 +2353,7 @@ void ReplicatedBackend::sub_op_push(OpRequestRef op) MOSDSubOp *m = static_cast(op->get_req()); PushOp pop; - pop.soid = m->recovery_info.soid; + pop.soid = m->poid; pop.version = m->version; m->claim_data(pop.data); pop.data_included.swap(m->data_included);