cluster_messenger->set_addr_unknowns(cluster_addr);
dout(10) << " assuming cluster_addr ip matches client_addr" << dendl;
} else {
- if (auto session = local_connection->get_priv(); !session) {
+ auto session = local_connection->get_priv();
+ if (!session) {
cluster_messenger->ms_deliver_handle_fast_connect(local_connection);
}
}
hb_back_server_messenger->set_addr_unknowns(hb_back_addr);
dout(10) << " assuming hb_back_addr ip matches cluster_addr" << dendl;
} else {
- if (auto session = local_connection->get_priv(); !session) {
+ auto session = local_connection->get_priv();
+ if (!session) {
hb_back_server_messenger->ms_deliver_handle_fast_connect(local_connection);
}
}
hb_front_server_messenger->set_addr_unknowns(hb_front_addr);
dout(10) << " assuming hb_front_addr ip matches client_addr" << dendl;
} else {
- if (auto session = local_connection->get_priv(); !session) {
+ auto session = local_connection->get_priv();
+ if (!session) {
hb_front_server_messenger->ms_deliver_handle_fast_connect(local_connection);
}
}
// message that didn't have an explicit spg_t); we need to map
// them to an spg_t while preserving delivery order.
auto priv = m->get_connection()->get_priv();
- if (auto session = static_cast<Session*>(priv.get()); session) {
+ auto session = static_cast<Session*>(priv.get());
+ if (session) {
Mutex::Locker l{session->session_dispatch_lock};
op->get();
session->waiting_on_map.push_back(*op);
if (m->get_type() == CEPH_MSG_OSD_MAP) {
MOSDMap *mm = static_cast<MOSDMap*>(m);
auto priv = m->get_connection()->get_priv();
- if (auto s = static_cast<Session*>(priv.get()); s) {
+ auto s = static_cast<Session*>(priv.get());
+ if (s) {
s->received_map_lock.lock();
s->received_map_epoch = mm->get_last();
s->received_map_lock.unlock();
}
auto priv = m->get_connection()->get_priv();
- if (auto session = static_cast<Session *>(priv.get());
- session && !(session->entity_name.is_mon() ||
+ auto session = static_cast<Session *>(priv.get());
+ if (session && !(session->entity_name.is_mon() ||
session->entity_name.is_osd())) {
//not enough perms!
dout(10) << "got osd map from Session " << session
ConnectionRef con = m->get_connection();
con->mark_down();
auto priv = con->get_priv();
- if (auto s = static_cast<Session*>(priv.get()); s) {
+ auto s = static_cast<Session*>(priv.get());
+ if (s) {
if (!is_fast_dispatch)
s->session_dispatch_lock.Lock();
clear_session_waiting_on_map(s);
logger->tinc(l_osd_op_before_dequeue_op_lat, latency);
auto priv = op->get_req()->get_connection()->get_priv();
- if (auto session = static_cast<Session *>(priv.get()); session) {
+ auto session = static_cast<Session *>(priv.get());
+ if (session) {
maybe_share_map(session, op, pg->get_osdmap());
}
// share map with client?
if (boost::optional<OpRequestRef> _op = qi->maybe_get_op()) {
auto priv = (*_op)->get_req()->get_connection()->get_priv();
- if (auto session = static_cast<Session *>(priv.get()); session) {
- osd->maybe_share_map(session, *_op, sdata->shard_osdmap);
+ auto session = static_cast<Session *>(priv.get());
+ if (session) {
+ osd->maybe_share_map(session, *_op, sdata->waiting_for_pg_osdmap);
}
}
unsigned pushes_to_free = qi->get_reserved_pushes();
Mutex::Locker l(lock);
lderr(g_ceph_context) << __func__ << " " << con << dendl;
auto priv = con->get_priv();
- if (auto s = static_cast<Session*>(priv.get()); s) {
+ auto s = static_cast<Session*>(priv.get());
+ if (s) {
s->con.reset(); // break con <-> session ref cycle
con->set_priv(nullptr); // break ref <-> session cycle, if any
}
Mutex::Locker l(lock);
lderr(g_ceph_context) << __func__ << " " << con << dendl;
auto priv = con->get_priv();
- if (auto s = static_cast<Session*>(priv.get()); s) {
+ auto s = static_cast<Session*>(priv.get());
+ if (s) {
s->con.reset(); // break con <-> session ref cycle
con->set_priv(nullptr); // break ref <-> session cycle, if any
}