From 1b899148a729235ab2835d368077f18e62a36a93 Mon Sep 17 00:00:00 2001 From: Haomai Wang Date: Sat, 3 May 2014 12:53:06 +0800 Subject: [PATCH] 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 (cherry picked from commit 3aee1e0ffe0583f74c02d9c9e86c7fb267f3515c) --- src/os/KeyValueStore.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/os/KeyValueStore.cc b/src/os/KeyValueStore.cc index cc117fa3a6718..fb459b226b86f 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; -- 2.39.5