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 <zhangz.david@outlook.com>
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 {