session->mds_num = mds;
session->seq = 0;
session->inst = mdsmap->get_inst(mds);
+ session->con = messenger->get_connection(session->inst);
session->state = MetaSession::STATE_OPENING;
mds_sessions[mds] = session;
messenger->send_message(new MClientSession(CEPH_SESSION_REQUEST_OPEN),
- session->inst);
+ session->con);
return session;
}
void Client::_closed_mds_session(MetaSession *s)
{
s->state = MetaSession::STATE_CLOSED;
+ messenger->mark_down(s->con);
mount_cond.Signal();
remove_session_caps(s);
kick_requests(s, true);
session->requests.push_back(&request->item);
ldout(cct, 10) << "send_request " << *r << " to mds." << mds << dendl;
- messenger->send_message(r, session->inst);
+ messenger->send_message(r, session->con);
}
MClientRequest* Client::build_client_request(MetaRequest *request)
mds_sessions.count(p->first)) {
MetaSession *session = mds_sessions[p->first];
session->inst = mdsmap->get_inst(p->first);
+ session->con->put();
+ session->con = messenger->get_connection(session->inst);
send_reconnect(session);
}
//make sure unsafe requests get saved
resend_unsafe_requests(session);
- messenger->send_message(m, session->inst);
+ messenger->send_message(m, session->con);
}
in->requested_max_size = in->wanted_max_size;
ldout(cct, 15) << "auth cap, setting max_size = " << in->requested_max_size << dendl;
}
- messenger->send_message(m, session->inst);
+ messenger->send_message(m, session->con);
}
capsnap->atime.encode_timeval(&m->head.atime);
m->head.time_warp_seq = capsnap->time_warp_seq;
- messenger->send_message(m, session->inst);
+ messenger->send_message(m, session->con);
}
}
session->last_cap_renew_request = ceph_clock_now(cct);
uint64_t seq = ++session->cap_renew_seq;
messenger->send_message(new MClientSession(CEPH_SESSION_REQUEST_RENEWCAPS, seq),
- session->inst);
+ session->con);
}