From: Zhi Zhang Date: Thu, 1 Nov 2018 06:52:04 +0000 (+0800) Subject: client: request next osdmap for blacklisted client X-Git-Tag: 3.2-0~22^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=1baf91e7ef0419270d6ea5d7d68adb94a2403114;p=ceph-ci.git client: request next osdmap for blacklisted client When client became blacklisted, it did't subscribe next osdmap. So when it was removed from blacklist by expiration or commandline, it didn't get updated osdmap which is the only way for the client to reset its blacklisted flag. Fixes: http://tracker.ceph.com/issues/36668 Signed-off-by: Zhi Zhang --- diff --git a/src/client/Client.cc b/src/client/Client.cc index 767d08fafa4..898ea2ad317 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -2512,6 +2512,12 @@ void Client::handle_osd_map(MOSDMap *m) return o.is_blacklisted(myaddrs);}); } + // Always subscribe to next osdmap for blacklisted client + // until this client is not blacklisted. + if (blacklisted) { + objecter->maybe_request_map(); + } + if (objecter->osdmap_full_flag()) { _handle_full_flag(-1); } else {