From: Igor Fedotov Date: Fri, 20 May 2016 16:41:34 +0000 (+0300) Subject: os/bluestore: Fixes duplicate blob move when cloning X-Git-Tag: v11.0.0~359^2~39 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6148e1e74aeb30db3e55658dee0859b3871a3ffb;p=ceph.git os/bluestore: Fixes duplicate blob move when cloning Signed-off-by: Igor Fedotov --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index ad3a25c811fd..5f86630948c2 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -6163,7 +6163,7 @@ int BlueStore::_clone(TransContext *txc, // move blobs map moved_blobs; for (auto& p : oldo->onode.extent_map) { - if (!p.second.is_shared()) { + if (!p.second.is_shared() && moved_blobs.count(p.second.blob) == 0) { int64_t id = e->get_new_blob_id(); moved_blobs[p.second.blob] = id; dout(30) << __func__ << " moving old onode blob " << p.second.blob