From: Yan, Zheng Date: Mon, 30 Sep 2019 06:20:17 +0000 (+0800) Subject: mds: cleanup code that kills session requests X-Git-Tag: v14.2.10~52^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=0ce321da34b0e10ac5d304d0dede6fc6701044ac;p=ceph.git mds: cleanup code that kills session requests Signed-off-by: "Yan, Zheng" (cherry picked from commit a10f051af25640def2ca6132de42693975de5ba1) --- diff --git a/src/mds/Server.cc b/src/mds/Server.cc index 42d15f96427..56521c754a0 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -1205,11 +1205,8 @@ void Server::journal_close_session(Session *session, int state, Context *on_safe mdlog->flush(); // clean up requests, too - elist::iterator p = - session->requests.begin(member_offset(MDRequestImpl, - item_session_request)); - while (!p.end()) { - MDRequestRef mdr = mdcache->request_get((*p)->reqid); + for (auto p = session->requests.begin(); !p.end(); ) { + MDRequestRef mdr(*p); ++p; mdcache->request_kill(mdr); } diff --git a/src/mds/SessionMap.cc b/src/mds/SessionMap.cc index 3259d5f807e..ae80cef5d4b 100644 --- a/src/mds/SessionMap.cc +++ b/src/mds/SessionMap.cc @@ -891,13 +891,8 @@ void SessionMap::save_if_dirty(const std::set &tgt_sessions, size_t Session::get_request_count() const { size_t result = 0; - - auto it = requests.begin(member_offset(MDRequestImpl, item_session_request)); - while (!it.end()) { + for (auto p = requests.begin(); !p.end(); ++p) ++result; - ++it; - } - return result; } diff --git a/src/mds/SessionMap.h b/src/mds/SessionMap.h index 6f694b8c32a..fd2ba781e6c 100644 --- a/src/mds/SessionMap.h +++ b/src/mds/SessionMap.h @@ -425,7 +425,7 @@ public: birth_time(clock::now()), auth_caps(g_ceph_context), item_session_list(this), - requests(0) // member_offset passed to front() manually + requests(member_offset(MDRequestImpl, item_session_request)) { set_connection(std::move(con)); }