]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: do not core dump when BlueRocksEnv gets EEXIST error 17357/head
authorliuchang0812 <liuchang0812@gmail.com>
Tue, 1 Aug 2017 14:48:10 +0000 (22:48 +0800)
committerliuchang0812 <liuchang0812@gmail.com>
Wed, 30 Aug 2017 03:56:50 +0000 (11:56 +0800)
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 <liuchang0812@gmail.com>
src/os/bluestore/BlueRocksEnv.cc

index 34e8a2fea0b8eb30e67a92f907063e015d31c34a..a78f2f1e9e0264bcb8c635bc5f215c55aae489c0 100644 (file)
@@ -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 :(