From 2078af5f829168971b9e2650c666d62ec0c410e1 Mon Sep 17 00:00:00 2001 From: Igor Fedotov Date: Tue, 6 Nov 2018 16:39:22 +0300 Subject: [PATCH] os/bluestore: fix wal dir presence verification Fixes: http://tracker.ceph.com/issues/36606 Signed-off-by: Igor Fedotov --- src/os/bluestore/BlueRocksEnv.cc | 4 ++-- src/os/bluestore/BlueStore.cc | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/os/bluestore/BlueRocksEnv.cc b/src/os/bluestore/BlueRocksEnv.cc index f665f496a368..ab3bb5600fde 100644 --- a/src/os/bluestore/BlueRocksEnv.cc +++ b/src/os/bluestore/BlueRocksEnv.cc @@ -391,7 +391,7 @@ rocksdb::Status BlueRocksEnv::NewDirectory( std::unique_ptr* result) { if (!fs->dir_exists(name)) - return rocksdb::Status::IOError(name, strerror(ENOENT)); + return rocksdb::Status::NotFound(name, strerror(ENOENT)); result->reset(new BlueRocksDirectory(fs)); return rocksdb::Status::OK(); } @@ -414,7 +414,7 @@ rocksdb::Status BlueRocksEnv::GetChildren( result->clear(); int r = fs->readdir(dir, result); if (r < 0) - return rocksdb::Status::IOError(dir, strerror(ENOENT));// return err_to_status(r); + return rocksdb::Status::NotFound(dir, strerror(ENOENT));// return err_to_status(r); return rocksdb::Status::OK(); } diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 328210e61e89..1e782e3a5fae 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -5132,7 +5132,7 @@ int BlueStore::_open_db(bool create, bool to_repair_db) std::vector res; // check for dir presence auto r = env->GetChildren(fn+".wal", &res); - if (r == rocksdb::Status::NotFound()) { + if (r.IsNotFound()) { kv_options.erase("separate_wal_dir"); } } -- 2.47.3