]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: do not dup Blob::id in dup() 11106/head
authorSage Weil <sage@redhat.com>
Fri, 16 Sep 2016 15:05:52 +0000 (11:05 -0400)
committerSage Weil <sage@redhat.com>
Fri, 16 Sep 2016 15:15:23 +0000 (11:15 -0400)
This field is local to a particular onode!

Signed-off-by: Sage Weil <sage@redhat.com>
src/os/bluestore/BlueStore.cc
src/os/bluestore/BlueStore.h

index 8e3e042ec666fe6a7a5fb78767239721eb01b34a..5676d873f4d9e7c0fdf306bb6158ff4ec43e9842 100644 (file)
@@ -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<bluestore_onode_t::shard_info> 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) {
index b02cd0e93b5b929c1963ad15bab278b8dc1e4b39..070457392929e86d12f6149e7e6858057b367d66 100644 (file)
@@ -424,7 +424,6 @@ public:
     }
 
     void dup(Blob& o) {
-      o.id = id;
       o.shared_blob = shared_blob;
       o.blob = blob;
       o.dirty = dirty;