// Identify any sessions which have state inconsistent with other,
// after they have been loaded from rados during startup.
// Mitigate bugs like: http://tracker.ceph.com/issues/16842
- const auto &sessions = sessionmap.get_sessions();
- for (const auto &i : sessions) {
+ for (const auto &i : sessionmap.get_sessions()) {
Session *session = i.second;
interval_set<inodeno_t> badones;
if (inotable->intersects_free(session->info.prealloc_inos, &badones)) {
if (mdsmap->get_num_in_mds() == 1 && !sessionmap.empty()) {
std::vector<Session*> victims;
- const auto sessions = sessionmap.get_sessions();
- for (const auto p : sessions) {
+ const auto& sessions = sessionmap.get_sessions();
+ for (const auto& p : sessions) {
if (!p.first.is_client()) {
continue;
}
return;
}
- std::list<Session*> victims;
- const auto sessions = sessionmap.get_sessions();
- for (const auto p : sessions) {
+ std::vector<Session*> victims;
+ const auto& sessions = sessionmap.get_sessions();
+ for (const auto& p : sessions) {
if (!p.first.is_client()) {
continue;
}
size_t Server::apply_blacklist(const std::set<entity_addr_t> &blacklist)
{
std::list<Session*> victims;
- const auto sessions = mds->sessionmap.get_sessions();
- for (const auto p : sessions) {
+ const auto& sessions = mds->sessionmap.get_sessions();
+ for (const auto& p : sessions) {
if (!p.first.is_client()) {
// Do not apply OSDMap blacklist to MDS daemons, we find out
// about their death via MDSMap.
// sessions
void decode_legacy(bufferlist::const_iterator& blp) override;
bool empty() const { return session_map.empty(); }
- const ceph::unordered_map<entity_name_t, Session*> &get_sessions() const
+ const ceph::unordered_map<entity_name_t, Session*>& get_sessions() const
{
return session_map;
}