All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] rbd: fix image request leak on parent read
@ 2013-05-02 11:51 Alex Elder
  2013-05-02 17:06 ` Josh Durgin
  0 siblings, 1 reply; 2+ messages in thread
From: Alex Elder @ 2013-05-02 11:51 UTC (permalink / raw)
  To: ceph-devel

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>
---
 drivers/block/rbd.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
index 8d9aeef..d669f71 100644
--- a/drivers/block/rbd.c
+++ b/drivers/block/rbd.c
@@ -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);
 }
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] rbd: fix image request leak on parent read
  2013-05-02 11:51 [PATCH] rbd: fix image request leak on parent read Alex Elder
@ 2013-05-02 17:06 ` Josh Durgin
  0 siblings, 0 replies; 2+ messages in thread
From: Josh Durgin @ 2013-05-02 17:06 UTC (permalink / raw)
  To: Alex Elder; +Cc: ceph-devel

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>

On 05/02/2013 04:51 AM, Alex Elder wrote:
> 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>
> ---
>   drivers/block/rbd.c |    1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
> index 8d9aeef..d669f71 100644
> --- a/drivers/block/rbd.c
> +++ b/drivers/block/rbd.c
> @@ -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);
>   }
>


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-05-02 17:06 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-02 11:51 [PATCH] rbd: fix image request leak on parent read Alex Elder
2013-05-02 17:06 ` Josh Durgin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.