summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/block/rbd.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
index 15ac2a54d4f3..2a0e9b81be48 100644
--- a/drivers/block/rbd.c
+++ b/drivers/block/rbd.c
@@ -2574,7 +2574,7 @@ static void rbd_img_parent_read(struct rbd_obj_request *obj_request)
2574 rbd_assert(obj_request_img_data_test(obj_request)); 2574 rbd_assert(obj_request_img_data_test(obj_request));
2575 rbd_assert(obj_request->img_request != NULL); 2575 rbd_assert(obj_request->img_request != NULL);
2576 rbd_assert(obj_request->result == (s32) -ENOENT); 2576 rbd_assert(obj_request->result == (s32) -ENOENT);
2577 rbd_assert(obj_request->type == OBJ_REQUEST_BIO); 2577 rbd_assert(obj_request_type_valid(obj_request->type));
2578 2578
2579 rbd_dev = obj_request->img_request->rbd_dev; 2579 rbd_dev = obj_request->img_request->rbd_dev;
2580 rbd_assert(rbd_dev->parent != NULL); 2580 rbd_assert(rbd_dev->parent != NULL);
@@ -2590,8 +2590,12 @@ static void rbd_img_parent_read(struct rbd_obj_request *obj_request)
2590 rbd_obj_request_get(obj_request); 2590 rbd_obj_request_get(obj_request);
2591 img_request->obj_request = obj_request; 2591 img_request->obj_request = obj_request;
2592 2592
2593 result = rbd_img_request_fill(img_request, OBJ_REQUEST_BIO, 2593 if (obj_request->type == OBJ_REQUEST_BIO)
2594 obj_request->bio_list); 2594 result = rbd_img_request_fill(img_request, OBJ_REQUEST_BIO,
2595 obj_request->bio_list);
2596 else
2597 result = rbd_img_request_fill(img_request, OBJ_REQUEST_PAGES,
2598 obj_request->pages);
2595 if (result) 2599 if (result)
2596 goto out_err; 2600 goto out_err;
2597 2601