From: Radoslaw Zarzynski Date: Thu, 29 Jan 2015 17:19:16 +0000 (+0100) Subject: librados: rectify the guard in RadosClient::wait_for_osdmap(). X-Git-Tag: v0.80.10~72^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=420ea03aa3cd52bd035d31ba111c3d6d0745352d;p=ceph.git librados: rectify the guard in RadosClient::wait_for_osdmap(). RadosClient::wait_for_osdmap() did not signalize lack of connection via -ENOTCONN error code when the Objecter instance was allocated. The proper way is to check the connection state explicitly. Signed-off-by: Radoslaw Zarzynski (cherry picked from commit 34473f78f101d87d2606e0e7112682a47ff24830) Conflicts: src/librados/RadosClient.cc the modified guard was not present: add the new guard instead of modifying it --- diff --git a/src/librados/RadosClient.cc b/src/librados/RadosClient.cc index 09bc507420ec..a5e77a551a76 100644 --- a/src/librados/RadosClient.cc +++ b/src/librados/RadosClient.cc @@ -445,6 +445,10 @@ int librados::RadosClient::wait_for_osdmap() { assert(lock.is_locked()); + if (state != CONNECTED) { + return -ENOTCONN; + } + utime_t timeout; if (cct->_conf->rados_mon_op_timeout > 0) timeout.set_from_double(cct->_conf->rados_mon_op_timeout);