From: Sage Weil Date: Fri, 16 Sep 2016 15:05:52 +0000 (-0400) Subject: os/bluestore: do not dup Blob::id in dup() X-Git-Tag: v11.0.1~216^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e9407a373a4991f7cc2bd549b82a749e9f0f1e6b;p=ceph.git os/bluestore: do not dup Blob::id in dup() This field is local to a particular onode! Signed-off-by: Sage Weil --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 8e3e042ec666..5676d873f4d9 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -1487,6 +1487,7 @@ void BlueStore::ExtentMap::reshard(Onode *o) while (p != spanning_blob_map.end()) { auto n = spanning_blob_map.erase(p); p->id = -1; + dout(30) << __func__ << " un-spanning " << *p << dendl; p->put(); p = n; } @@ -1521,6 +1522,7 @@ void BlueStore::ExtentMap::reshard(Onode *o) vector new_shard_info; while (ep != extent_map.end()) { dout(30) << " ep " << *ep << dendl; + assert(!ep->blob->is_spanning()); if (shard_end == 0 || ep->logical_offset >= shard_end) { if (sp == esp) { diff --git a/src/os/bluestore/BlueStore.h b/src/os/bluestore/BlueStore.h index b02cd0e93b5b..070457392929 100644 --- a/src/os/bluestore/BlueStore.h +++ b/src/os/bluestore/BlueStore.h @@ -424,7 +424,6 @@ public: } void dup(Blob& o) { - o.id = id; o.shared_blob = shared_blob; o.blob = blob; o.dirty = dirty;