From: liuchang0812 Date: Tue, 1 Aug 2017 14:48:10 +0000 (+0800) Subject: os/bluestore: do not core dump when BlueRocksEnv gets EEXIST error X-Git-Tag: v13.0.1~1094^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F17357%2Fhead;p=ceph.git 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 --- diff --git a/src/os/bluestore/BlueRocksEnv.cc b/src/os/bluestore/BlueRocksEnv.cc index 34e8a2fea0b..a78f2f1e9e0 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 :(