int MonClient::get_monmap()
{
ldout(cct, 10) << __func__ << dendl;
- Mutex::Locker l(monc_lock);
+ std::lock_guard l(monc_lock);
sub.want("monmap", 0, 0);
if (!_opened())
break;
}
{
- Mutex::Locker l(monc_lock);
+ std::lock_guard l(monc_lock);
if (monmap.get_epoch() &&
!monmap.persistent_features.contains_all(
ceph::features::mon::FEATURE_MIMIC)) {
return false;
}
- Mutex::Locker lock(monc_lock);
+ std::lock_guard lock(monc_lock);
if (_hunting()) {
auto p = _find_pending_con(m->get_connection());
void MonClient::flush_log()
{
- Mutex::Locker l(monc_lock);
+ std::lock_guard l(monc_lock);
send_log();
}
entity_name = cct->_conf->name;
- Mutex::Locker l(monc_lock);
+ std::lock_guard l(monc_lock);
string method;
if (!cct->_conf->auth_supported.empty())
int MonClient::authenticate(double timeout)
{
- Mutex::Locker lock(monc_lock);
+ std::lock_guard lock(monc_lock);
if (active_con) {
ldout(cct, 5) << "already authenticated" << dendl;
bool MonClient::ms_handle_reset(Connection *con)
{
- Mutex::Locker lock(monc_lock);
+ std::lock_guard lock(monc_lock);
if (con->get_peer_type() != CEPH_ENTITY_TYPE_MON)
return false;
int MonClient::wait_auth_rotating(double timeout)
{
- Mutex::Locker l(monc_lock);
+ std::lock_guard l(monc_lock);
utime_t now = ceph_clock_now();
utime_t until = now;
until += timeout;
bufferlist *outbl, string *outs,
Context *onfinish)
{
- Mutex::Locker l(monc_lock);
+ std::lock_guard l(monc_lock);
MonCommand *r = new MonCommand(++last_mon_command_tid);
r->cmd = cmd;
r->inbl = inbl;
bufferlist *outbl, string *outs,
Context *onfinish)
{
- Mutex::Locker l(monc_lock);
+ std::lock_guard l(monc_lock);
MonCommand *r = new MonCommand(++last_mon_command_tid);
r->target_name = mon_name;
r->cmd = cmd;
bufferlist *outbl, string *outs,
Context *onfinish)
{
- Mutex::Locker l(monc_lock);
+ std::lock_guard l(monc_lock);
MonCommand *r = new MonCommand(++last_mon_command_tid);
r->target_rank = rank;
r->cmd = cmd;
{
version_req_d *req = new version_req_d(onfinish, newest, oldest);
ldout(cct, 10) << "get_version " << map << " req " << req << dendl;
- Mutex::Locker l(monc_lock);
+ std::lock_guard l(monc_lock);
MMonGetVersion *m = new MMonGetVersion();
m->what = map;
m->handle = ++version_req_id;
}
AuthAuthorizer* MonClient::build_authorizer(int service_id) const {
- Mutex::Locker l(monc_lock);
+ std::lock_guard l(monc_lock);
if (auth) {
return auth->build_authorizer(service_id);
} else {
}
bool ms_dispatch(Message *m) override {
- Mutex::Locker l(lock);
+ std::lock_guard l(lock);
if (m->get_type() != CEPH_MSG_PING)
return false;
return true;
}
bool ms_handle_reset(Connection *con) override {
- Mutex::Locker l(lock);
+ std::lock_guard l(lock);
done = true;
ping_recvd_cond.SignalAll();
return true;
public:
void renew_subs() {
- Mutex::Locker l(monc_lock);
+ std::lock_guard l(monc_lock);
_renew_subs();
}
bool sub_want(string what, version_t start, unsigned flags) {
- Mutex::Locker l(monc_lock);
+ std::lock_guard l(monc_lock);
return sub.want(what, start, flags);
}
void sub_got(string what, version_t have) {
- Mutex::Locker l(monc_lock);
+ std::lock_guard l(monc_lock);
sub.got(what, have);
}
void sub_unwant(string what) {
- Mutex::Locker l(monc_lock);
+ std::lock_guard l(monc_lock);
sub.unwant(what);
}
bool sub_want_increment(string what, version_t start, unsigned flags) {
- Mutex::Locker l(monc_lock);
+ std::lock_guard l(monc_lock);
return sub.inc_want(what, start, flags);
}
* putting the message reference!
*/
void set_passthrough_monmap() {
- Mutex::Locker l(monc_lock);
+ std::lock_guard l(monc_lock);
passthrough_monmap = true;
}
void unset_passthrough_monmap() {
- Mutex::Locker l(monc_lock);
+ std::lock_guard l(monc_lock);
passthrough_monmap = false;
}
/**
int ping_monitor(const string &mon_id, string *result_reply);
void send_mon_message(Message *m) {
- Mutex::Locker l(monc_lock);
+ std::lock_guard l(monc_lock);
_send_mon_message(m);
}
/**
* to reconnect to another monitor.
*/
void reopen_session(Context *cb=NULL) {
- Mutex::Locker l(monc_lock);
+ std::lock_guard l(monc_lock);
if (cb) {
session_established_context.reset(cb);
}
}
entity_addrvec_t get_mon_addrs(unsigned i) const {
- Mutex::Locker l(monc_lock);
+ std::lock_guard l(monc_lock);
if (i < monmap.size())
return monmap.get_addrs(i);
return entity_addrvec_t();
}
int get_num_mon() const {
- Mutex::Locker l(monc_lock);
+ std::lock_guard l(monc_lock);
return monmap.size();
}
uint64_t get_global_id() const {
- Mutex::Locker l(monc_lock);
+ std::lock_guard l(monc_lock);
return global_id;
}
template<typename Callback, typename...Args>
auto with_monmap(Callback&& cb, Args&&...args) const ->
decltype(cb(monmap, std::forward<Args>(args)...)) {
- Mutex::Locker l(monc_lock);
+ std::lock_guard l(monc_lock);
return std::forward<Callback>(cb)(monmap, std::forward<Args>(args)...);
}
void _dump(Formatter *f) const override {
{
f->open_array_section("events");
- Mutex::Locker l(lock);
+ std::lock_guard l(lock);
for (auto& i : events) {
f->dump_object("event", i);
}
void Monitor::do_admin_command(std::string_view command, const cmdmap_t& cmdmap,
std::string_view format, std::ostream& ss)
{
- Mutex::Locker l(lock);
+ std::lock_guard l(lock);
boost::scoped_ptr<Formatter> f(Formatter::create(format));
int Monitor::init()
{
dout(2) << "init" << dendl;
- Mutex::Locker l(lock);
+ std::lock_guard l(lock);
finisher.start();
C_MgrProxyCommand(Monitor *mon, MonOpRequestRef op, uint64_t s)
: mon(mon), op(op), size(s) { }
void finish(int r) {
- Mutex::Locker l(mon->lock);
+ std::lock_guard l(mon->lock);
mon->mgr_proxy_bytes -= size;
mon->reply_command(op, r, outs, outbl, 0);
}
void Monitor::remove_all_sessions()
{
- Mutex::Locker l(session_map_lock);
+ std::lock_guard l(session_map_lock);
while (!session_map.sessions.empty()) {
MonSession *s = session_map.sessions.front();
remove_session(s);
// proxied sessions aren't registered and don't have a con; don't remove
// those.
if (!s->proxy_con) {
- Mutex::Locker l(session_map_lock);
+ std::lock_guard l(session_map_lock);
remove_session(s);
}
op->mark_zap();
ConnectionRef con = m->get_connection();
{
- Mutex::Locker l(session_map_lock);
+ std::lock_guard l(session_map_lock);
s = session_map.new_session(m->get_source(),
m->get_source_addrs(),
con.get());
for (map<string, Subscription*>::iterator it = s->sub_map.begin();
it != s->sub_map.end(); ) {
if (it->first != p->first && logmon()->sub_name_to_id(it->first) >= 0) {
- Mutex::Locker l(session_map_lock);
+ std::lock_guard l(session_map_lock);
session_map.remove_sub((it++)->second);
} else {
++it;
}
{
- Mutex::Locker l(session_map_lock);
+ std::lock_guard l(session_map_lock);
session_map.add_update_sub(s, p->first, p->second.start,
p->second.flags & CEPH_SUBSCRIBE_ONETIME,
m->get_connection()->has_feature(CEPH_FEATURE_INCSUBOSDMAP));
if (is_shutdown())
return false;
- Mutex::Locker l(lock);
+ std::lock_guard l(lock);
dout(10) << "reset/close on session " << s->name << " " << s->addrs << dendl;
if (!s->closed) {
- Mutex::Locker l(session_map_lock);
+ std::lock_guard l(session_map_lock);
remove_session(s);
}
return true;
// trim sessions
{
- Mutex::Locker l(session_map_lock);
+ std::lock_guard l(session_map_lock);
auto p = session_map.sessions.begin();
bool out_for_too_long = (!exited_quorum.is_zero() &&
template<typename Func, typename...Args>
void with_session_map(Func&& func) {
- Mutex::Locker l(session_map_lock);
+ std::lock_guard l(session_map_lock);
std::forward<Func>(func)(session_map);
}
void send_latest_monmap(Connection *con);
<< ", priming " << acting
<< dendl;
{
- Mutex::Locker l(prime_pg_temp_lock);
+ std::lock_guard l(prime_pg_temp_lock);
// do not touch a mapping if a change is pending
pending_inc.new_pg_temp.emplace(
pgid,
explicit C_Committed(Paxos *p) : paxos(p) {}
void finish(int r) override {
ceph_assert(r >= 0);
- Mutex::Locker l(paxos->mon->lock);
+ std::lock_guard l(paxos->mon->lock);
if (paxos->is_shutdown()) {
paxos->abort_commit();
return;