From 420ea03aa3cd52bd035d31ba111c3d6d0745352d Mon Sep 17 00:00:00 2001 From: Radoslaw Zarzynski Date: Thu, 29 Jan 2015 18:19:16 +0100 Subject: [PATCH] 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 --- src/librados/RadosClient.cc | 4 ++++ 1 file changed, 4 insertions(+) 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); -- 2.47.3