The client MetaRequest should always be cleaned up
and removed from the mds_requests map once the client
gets a safe reply. This patch avoids a leak where the
mds does not send back an unsafe reply and the request
is never cleaned up.
Signed-off-by: Sam Lang <sam.lang@inktank.com>
if (is_safe) {
// the filesystem change is committed to disk
+ // we're done, clean up
if (request->got_unsafe) {
- // we're done, clean up
- request->item.remove_myself();
request->unsafe_item.remove_myself();
- mds_requests.erase(tid);
- request->put(); // for the dumb data structure
}
+ request->item.remove_myself();
+ mds_requests.erase(tid);
+ request->put(); // for the dumb data structure
}
if (unmounting)
mount_cond.Signal();