From 9d313776a8eebe22a3955edb568ddee3bb5fe6bc Mon Sep 17 00:00:00 2001 From: liuchang0812 Date: Tue, 1 Aug 2017 22:48:10 +0800 Subject: [PATCH] os/bluestore: do not core dump when BlueRocksEnv gets EEXIST error in `rocksdb::repairdb`, rocksdb needs create a directory `lost` to archive all files. we will get a EEXIST error when there is a `lost` directory already. Fixes: http://tracker.ceph.com/issues/20871 Signed-off-by: liuchang0812 --- src/os/bluestore/BlueRocksEnv.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/os/bluestore/BlueRocksEnv.cc b/src/os/bluestore/BlueRocksEnv.cc index 34e8a2fea0b8e..a78f2f1e9e026 100644 --- a/src/os/bluestore/BlueRocksEnv.cc +++ b/src/os/bluestore/BlueRocksEnv.cc @@ -16,6 +16,7 @@ rocksdb::Status err_to_status(int r) case -EINVAL: return rocksdb::Status::InvalidArgument(rocksdb::Status::kNone); case -EIO: + case -EEXIST: return rocksdb::Status::IOError(rocksdb::Status::kNone); default: // FIXME :( -- 2.39.5