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: v14.0.0~210^2~1 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=ef517d0ea0dd4754fe725ae8d6f01209b58130be;p=ceph-ci.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 --- diff --git a/src/librados/RadosClient.cc b/src/librados/RadosClient.cc index cdca87909bb..95d119cc04b 100644 --- a/src/librados/RadosClient.cc +++ b/src/librados/RadosClient.cc @@ -1101,5 +1101,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(); } ); }