]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: fix the setting of soid in sub_op_push 13353/head
authorZhiqiang Wang <zhiqiang@xsky.com>
Mon, 12 Sep 2016 04:29:54 +0000 (00:29 -0400)
committerZhiqiang Wang <zhiqiang@xsky.com>
Fri, 10 Feb 2017 09:52:44 +0000 (17:52 +0800)
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 <zhiqiang@xsky.com>
src/osd/ReplicatedBackend.cc

index 6af8b333d65ac17b91ee2c7187fb138444af10e7..e56bd26c26deeda9ac6dd93f6d497856f2a39f37 100644 (file)
@@ -2353,7 +2353,7 @@ void ReplicatedBackend::sub_op_push(OpRequestRef op)
   MOSDSubOp *m = static_cast<MOSDSubOp *>(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);