mdlog->flush();
// clean up requests, too
- elist<MDRequestImpl*>::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);
}
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;
}
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));
}