Skip to content

Commit

Permalink
ceph: unregister canceled/timed out osd requests
Browse files Browse the repository at this point in the history
Canceled or timed out osd requests were getting left in the request list
and never deallocated (until umount).  Unregister if they are canceled
(control-c) or time out.

Signed-off-by: Sage Weil <sage@newdream.net>
  • Loading branch information
Sage Weil committed Dec 23, 2009
1 parent e0e3271 commit 529cfcc
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion fs/ceph/osd_client.c
Original file line number Diff line number Diff line change
Expand Up @@ -1071,8 +1071,9 @@ int ceph_osdc_wait_request(struct ceph_osd_client *osdc,
if (rc < 0) {
mutex_lock(&osdc->request_mutex);
__cancel_request(req);
__unregister_request(osdc, req);
mutex_unlock(&osdc->request_mutex);
dout("wait_request tid %llu timed out\n", req->r_tid);
dout("wait_request tid %llu canceled/timed out\n", req->r_tid);
return rc;
}

Expand Down

0 comments on commit 529cfcc

Please sign in to comment.