rbd: fix image request leak on parent read
When a read for a layered image object finds the target object doesn't exist, a read image request for the parent image is created and submitted. When that completes, the callback routine was not releasing that parent image request. Fix that. The slab allocation stuff just added has greatly simplified the search for the source of this memory leak. This resolves: http://tracker.ceph.com/issues/4803 Signed-off-by: Alex Elder <elder@inktank.com> Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
This commit is contained in:
parent
5522ae0b68
commit
b5b09be30c
|
@ -2547,6 +2547,7 @@ static void rbd_img_parent_read_callback(struct rbd_img_request *img_request)
|
|||
obj_request->xferred = img_request->xferred;
|
||||
}
|
||||
out:
|
||||
rbd_img_request_put(img_request);
|
||||
rbd_img_obj_request_read_callback(obj_request);
|
||||
rbd_obj_request_complete(obj_request);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue