]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: reorder onode_map vs enode_set ctor/dtor
authorSage Weil <sage@redhat.com>
Mon, 21 Mar 2016 13:28:27 +0000 (09:28 -0400)
committerSage Weil <sage@redhat.com>
Wed, 30 Mar 2016 15:23:14 +0000 (11:23 -0400)
The onode_map should get declared after the enode_set so that
the enode_set is empty when it is destroyed.

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

index a265d0d4ca894a0566f175f5b61865b911fdd842..afe1e9b1abd04ebb933a1ecdd196e36e1ec895ba 100644 (file)
@@ -628,8 +628,8 @@ BlueStore::Collection::Collection(BlueStore *ns, coll_t c)
     cid(c),
     lock("BlueStore::Collection::lock", true, false),
     exists(true),
-    onode_map(),
-    enode_set(g_conf->bluestore_onode_map_size)
+    enode_set(g_conf->bluestore_onode_map_size),
+    onode_map()
 {
 }
 
index ede2b3946c3767ecaa2964d0a28b9df9ece1b0bf..fa034e030c5034fbd0ac2502919f38566e30a551 100644 (file)
@@ -193,12 +193,12 @@ public:
 
     bool exists;
 
+    EnodeSet enode_set;      ///< open Enodes
+
     // cache onodes on a per-collection basis to avoid lock
     // contention.
     OnodeHashLRU onode_map;
 
-    EnodeSet enode_set;      ///< open Enodes
-
     OnodeRef get_onode(const ghobject_t& oid, bool create);
     EnodeRef get_enode(uint32_t hash);