Message ID | 1474304608-17958-6-git-send-email-idryomov@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 09/19/2016 12:03 PM, Ilya Dryomov wrote: > - fix parent_length == img_request->xferred assert to not fire on > copyup read failures > - don't leak pages if copyup read fails or we can't allocate a new osd > request > > Signed-off-by: Ilya Dryomov <idryomov@gmail.com> Looks good. Reviewed-by: Alex Elder <elder@linaro.org> > --- > drivers/block/rbd.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c > index d8070bd29fd1..b9a4e79a663f 100644 > --- a/drivers/block/rbd.c > +++ b/drivers/block/rbd.c > @@ -2666,7 +2666,7 @@ rbd_img_obj_parent_read_full_callback(struct rbd_img_request *img_request) > rbd_assert(obj_request_type_valid(orig_request->type)); > img_result = img_request->result; > parent_length = img_request->length; > - rbd_assert(parent_length == img_request->xferred); > + rbd_assert(img_result || parent_length == img_request->xferred); > rbd_img_request_put(img_request); > > rbd_assert(orig_request->img_request); > @@ -2719,6 +2719,7 @@ rbd_img_obj_parent_read_full_callback(struct rbd_img_request *img_request) > return; > > out_err: > + ceph_release_page_vector(pages, page_count); > orig_request->result = img_result; > orig_request->xferred = 0; > rbd_img_request_get(orig_request->img_request); > -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, 19 Sep 2016 19:03:25 +0200, Ilya Dryomov wrote: > - fix parent_length == img_request->xferred assert to not fire on > copyup read failures > - don't leak pages if copyup read fails or we can't allocate a new osd > request > > Signed-off-by: Ilya Dryomov <idryomov@gmail.com> Looks fine. Reviewed-by: David Disseldorp <ddiss@suse.de> -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c index d8070bd29fd1..b9a4e79a663f 100644 --- a/drivers/block/rbd.c +++ b/drivers/block/rbd.c @@ -2666,7 +2666,7 @@ rbd_img_obj_parent_read_full_callback(struct rbd_img_request *img_request) rbd_assert(obj_request_type_valid(orig_request->type)); img_result = img_request->result; parent_length = img_request->length; - rbd_assert(parent_length == img_request->xferred); + rbd_assert(img_result || parent_length == img_request->xferred); rbd_img_request_put(img_request); rbd_assert(orig_request->img_request); @@ -2719,6 +2719,7 @@ rbd_img_obj_parent_read_full_callback(struct rbd_img_request *img_request) return; out_err: + ceph_release_page_vector(pages, page_count); orig_request->result = img_result; orig_request->xferred = 0; rbd_img_request_get(orig_request->img_request);
- fix parent_length == img_request->xferred assert to not fire on copyup read failures - don't leak pages if copyup read fails or we can't allocate a new osd request Signed-off-by: Ilya Dryomov <idryomov@gmail.com> --- drivers/block/rbd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)