From 80b398b7f6a2843eb097b83fc52385690ddc7eb4 Mon Sep 17 00:00:00 2001 From: xie xingguo Date: Thu, 14 Jul 2016 18:56:41 +0800 Subject: [PATCH] kv/MemDB: fix MemDB::_init() 1. mkdir() returns zero on success, or -1 if an error occurred (in which case, errno is set appropriately). 2. we shall return the proper error result to caller on failure. Signed-off-by: xie xingguo --- src/kv/MemDB.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/kv/MemDB.cc b/src/kv/MemDB.cc index 8976e51f8cfb7..0a67ca2886777 100644 --- a/src/kv/MemDB.cc +++ b/src/kv/MemDB.cc @@ -134,8 +134,10 @@ int MemDB::_init(bool create) if (create) { int r = ::mkdir(m_db_path.c_str(), 0700); if (r < 0) { - if (r != EEXIST) { + r = -errno; + if (r != -EEXIST) { derr << __func__ << " mkdir failed: " << cpp_strerror(r) << dendl; + return r; } } } else { -- 2.39.5