Patchwork [3.11.y.z,extended,stable] Patch "rbd: fix error paths in rbd_img_request_fill()" has been added to staging queue

mail settings
Submitter Luis Henriques
Date May 14, 2014, 2:58 p.m.
Message ID <>
Download mbox | patch
Permalink /patch/348833/
State New
Headers show


Luis Henriques - May 14, 2014, 2:58 p.m.
This is a note to let you know that I have just added a patch titled

    rbd: fix error paths in rbd_img_request_fill()

to the linux-3.11.y-queue branch of the 3.11.y.z extended stable tree 
which can be found at:;a=shortlog;h=refs/heads/linux-3.11.y-queue

If you, or anyone else, feels it should not be added to this tree, please 
reply to this email.

For more information about the 3.11.y.z tree, see



From 5bc28bd6df28558e577ccd078b8d8cb1388957c5 Mon Sep 17 00:00:00 2001
From: Ilya Dryomov <>
Date: Tue, 4 Mar 2014 11:57:17 +0200
Subject: rbd: fix error paths in rbd_img_request_fill()

commit 42dd037c08c7cd6e3e9af7824b0c1d063f838885 upstream.

Doing rbd_obj_request_put() in rbd_img_request_fill() error paths is
not only insufficient, but also triggers an rbd_assert() in

    Assertion failure in rbd_obj_request_destroy() at line 1867:

    rbd_assert(obj_request->img_request == NULL);

rbd_img_obj_request_add() adds obj_requests to the img_request, the
opposite is rbd_img_obj_request_del().  Use it.


Signed-off-by: Ilya Dryomov <>
Reviewed-by: Alex Elder <>
Signed-off-by: Luis Henriques <>
 drivers/block/rbd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)



diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
index 1af45c2..eebf3d6 100644
--- a/drivers/block/rbd.c
+++ b/drivers/block/rbd.c
@@ -2268,7 +2268,7 @@  out_partial:
 	for_each_obj_request_safe(img_request, obj_request, next_obj_request)
-		rbd_obj_request_put(obj_request);
+		rbd_img_obj_request_del(img_request, obj_request);

 	return -ENOMEM;