To ensure LevelDBStore::db is destroyed before dependent LevelDBStore::db_cache and LevelDBStore::filterpolicy.
Signed-off-by: Signed-off-by: Ray Lv <xiangyulv@gmail.com>
{
close();
delete logger;
+
+ // Ensure db is destroyed before dependent db_cache and filterpolicy
+ db.reset();
}
void LevelDBStore::close()
CephContext *cct;
PerfCounters *logger;
string path;
- boost::scoped_ptr<leveldb::DB> db;
boost::scoped_ptr<leveldb::Cache> db_cache;
#ifdef HAVE_LEVELDB_FILTER_POLICY
boost::scoped_ptr<const leveldb::FilterPolicy> filterpolicy;
#endif
+ boost::scoped_ptr<leveldb::DB> db;
int init(ostream &out, bool create_if_missing);