From: John Spray Date: Mon, 30 Apr 2018 15:35:18 +0000 (-0400) Subject: librados: fix locking on get_required_monitor_features X-Git-Tag: v13.1.1~51^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=c8156b911751873c375163d6ffea940a7bfa561c;p=ceph.git librados: fix locking on get_required_monitor_features This wasn't taking the MonClient lock: should use with_monmap to protect access to MonClient::monmap. Signed-off-by: John Spray (cherry picked from commit ef517d0ea0dd4754fe725ae8d6f01209b58130be) --- diff --git a/src/librados/RadosClient.cc b/src/librados/RadosClient.cc index a62da35f70f..a9d429a4320 100644 --- a/src/librados/RadosClient.cc +++ b/src/librados/RadosClient.cc @@ -1098,5 +1098,6 @@ int librados::RadosClient::service_daemon_update_status( mon_feature_t librados::RadosClient::get_required_monitor_features() const { - return monclient.monmap.get_required_features(); + return monclient.with_monmap([](const MonMap &monmap) { + return monmap.get_required_features(); } ); }