This fixes a regression introduced in commit
85157d5aae3d ("mon:
s/Mutex/ceph::mutex/"). Waiting for monmap and config indefinitely
is not just bad UX, it actually masks other more serious bugs.
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit
6faa18e0a8e8efba6bd2978942eb9909b6568d5c)
}
while ((!bootstrap_config || monmap.get_epoch() == 0) && r == 0) {
ldout(cct,20) << __func__ << " waiting for monmap|config" << dendl;
- map_cond.wait_for(l, ceph::make_timespan(
- cct->_conf->mon_client_hunt_interval));
+ auto status = map_cond.wait_for(l, ceph::make_timespan(
+ cct->_conf->mon_client_hunt_interval));
+ if (status == std::cv_status::timeout) {
+ r = -ETIMEDOUT;
+ }
}
if (bootstrap_config) {