From: xie xingguo Date: Thu, 14 Jul 2016 10:56:41 +0000 (+0800) Subject: kv/MemDB: fix MemDB::_init() X-Git-Tag: ses5-milestone5~361^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=80b398b7f6a2843eb097b83fc52385690ddc7eb4;p=ceph.git 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 --- diff --git a/src/kv/MemDB.cc b/src/kv/MemDB.cc index 8976e51f8cfb..0a67ca288677 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 {