mds_rank_t from = mds_rank_t(m->get_source().num());
ldout(cct, 10) << __func__ << " " << *m << " from mds." << from << dendl;
+ std::scoped_lock cl(client_lock);
MetaSession *session = _get_mds_session(from, m->get_connection().get());
if (!session) {
ldout(cct, 10) << " discarding session message from sessionless mds " << m->get_source_inst() << dendl;
void Client::handle_client_request_forward(const MConstRef<MClientRequestForward>& fwd)
{
mds_rank_t mds = mds_rank_t(fwd->get_source().num());
+
+ std::scoped_lock cl(client_lock);
MetaSession *session = _get_mds_session(mds, fwd->get_connection().get());
if (!session) {
return;
void Client::handle_client_reply(const MConstRef<MClientReply>& reply)
{
mds_rank_t mds_num = mds_rank_t(reply->get_source().num());
+
+ std::scoped_lock cl(client_lock);
MetaSession *session = _get_mds_session(mds_num, reply->get_connection().get());
if (!session) {
return;
void Client::handle_osd_map(const MConstRef<MOSDMap>& m)
{
std::set<entity_addr_t> new_blocklists;
+
+ std::scoped_lock cl(client_lock);
objecter->consume_blocklist_events(&new_blocklists);
const auto myaddrs = messenger->get_myaddrs();
return true;
}
- std::scoped_lock l(client_lock);
-
switch (m->get_type()) {
// mounting and mds sessions
case CEPH_MSG_MDS_MAP:
}
// unmounting?
+ std::scoped_lock cl(client_lock);
if (is_unmounting()) {
ldout(cct, 10) << "unmounting: trim pass, size was " << lru.lru_get_size()
<< "+" << inode_map.size() << dendl;
void Client::handle_fs_map(const MConstRef<MFSMap>& m)
{
+ std::scoped_lock cl(client_lock);
fsmap.reset(new FSMap(m->get_fsmap()));
signal_cond_list(waiting_for_fsmap);
void Client::handle_fs_map_user(const MConstRef<MFSMapUser>& m)
{
+ std::scoped_lock cl(client_lock);
fsmap_user.reset(new FSMapUser);
*fsmap_user = m->get_fsmap();
void Client::handle_mds_map(const MConstRef<MMDSMap>& m)
{
mds_gid_t old_inc, new_inc;
+
+ std::scoped_lock cl(client_lock);
if (m->get_epoch() <= mdsmap->get_epoch()) {
ldout(cct, 1) << __func__ << " epoch " << m->get_epoch()
<< " is identical to or older than our "
ldout(cct, 10) << __func__ << " " << *m << dendl;
ceph_assert(m->get_action() == CEPH_MDS_LEASE_REVOKE);
-
mds_rank_t mds = mds_rank_t(m->get_source().num());
+
+ std::scoped_lock cl(client_lock);
MetaSession *session = _get_mds_session(mds, m->get_connection().get());
if (!session) {
return;
{
ldout(cct, 10) << __func__ << " " << *m << dendl;
mds_rank_t mds = mds_rank_t(m->get_source().num());
+
+ std::scoped_lock cl(client_lock);
MetaSession *session = _get_mds_session(mds, m->get_connection().get());
if (!session) {
return;
void Client::handle_quota(const MConstRef<MClientQuota>& m)
{
mds_rank_t mds = mds_rank_t(m->get_source().num());
+
+ std::scoped_lock cl(client_lock);
MetaSession *session = _get_mds_session(mds, m->get_connection().get());
if (!session) {
return;
void Client::handle_caps(const MConstRef<MClientCaps>& m)
{
mds_rank_t mds = mds_rank_t(m->get_source().num());
+
+ std::scoped_lock cl(client_lock);
MetaSession *session = _get_mds_session(mds, m->get_connection().get());
if (!session) {
return;
ldout(cct, 10) << __func__ << ": tid=" << m->get_tid() << dendl;
+ std::scoped_lock cl(client_lock);
if (!command_table.exists(tid)) {
ldout(cct, 1) << __func__ << ": unknown tid " << tid << ", dropping" << dendl;
return;
mds_rank_t from = mds_rank_t(reply->get_source().num());
ldout(cct, 10) << __func__ << " " << *reply << " from mds." << from << dendl;
+ std::scoped_lock cl(client_lock);
MetaSession *session = _get_mds_session(from, reply->get_connection().get());
if (!session) {
ldout(cct, 10) << " discarding reclaim reply from sessionless mds." << from << dendl;