From: Sage Weil Date: Mon, 21 Mar 2016 13:28:27 +0000 (-0400) Subject: os/bluestore: reorder onode_map vs enode_set ctor/dtor X-Git-Tag: v10.1.1~28^2~25 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=360d956857f0c5bc09d06d5f0d129eb7d707a058;p=ceph.git os/bluestore: reorder onode_map vs enode_set ctor/dtor 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 --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index a265d0d4ca89..afe1e9b1abd0 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -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() { } diff --git a/src/os/bluestore/BlueStore.h b/src/os/bluestore/BlueStore.h index ede2b3946c37..fa034e030c50 100644 --- a/src/os/bluestore/BlueStore.h +++ b/src/os/bluestore/BlueStore.h @@ -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);