create a new function end_session to end client sessions

This commit is contained in:
Greg Farnum 2009-12-17 14:27:26 -08:00
parent 6dce782635
commit 196f277912
2 changed files with 19 additions and 12 deletions

View File

@ -415,6 +415,13 @@ void Server::find_idle_sessions()
mds->logclient.log(LOG_INFO, ss);
dout(10) << "autoclosing stale session " << session->inst << " last " << session->last_cap_renew << dendl;
end_session(session);
}
}
void Server::end_session (Session *session)
{
assert (session);
mds->sessionmap.set_state(session, Session::STATE_STALE_PURGING);
if (session->prealloc_inos.empty()) {
_finish_session_purge(session);
@ -428,7 +435,6 @@ void Server::find_idle_sessions()
mds->mdcache->purge_prealloc_ino(i, fin->new_sub());
}
}
}
}
void Server::_finish_session_purge(Session *session)

View File

@ -75,6 +75,7 @@ public:
void finish_force_open_sessions(map<client_t,entity_inst_t> &cm);
void terminate_sessions();
void find_idle_sessions();
void end_session (Session *session);
void reconnect_clients();
void handle_client_reconnect(class MClientReconnect *m);
//void process_reconnect_cap(CInode *in, int from, ceph_mds_cap_reconnect& capinfo);