From: Haomai Wang Date: Sat, 3 May 2014 04:53:06 +0000 (+0800) Subject: Fix clone problem X-Git-Tag: v0.81~75^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F1762%2Fhead;p=ceph.git Fix clone problem When clone happened, the origin header also will be updated in GenericObjectMap, so the new header wraper(StripObjectHeader) should be updated too. Fix #8282 Signed-off-by: Haomai Wang --- diff --git a/src/os/KeyValueStore.cc b/src/os/KeyValueStore.cc index cc117fa3a671..fb459b226b86 100644 --- a/src/os/KeyValueStore.cc +++ b/src/os/KeyValueStore.cc @@ -204,11 +204,14 @@ void StripObjectMap::clone_wrap(StripObjectHeader &old_header, if (target_header) *target_header = old_header; + if (origin_header) + *origin_header = old_header; clone(old_header.header, cid, oid, t, &new_origin_header, &target_header->header); - old_header.header = new_origin_header; + if(origin_header) + origin_header->header = new_origin_header; if (target_header) { target_header->oid = oid;