|
|
@@ -2190,6 +2190,7 @@ static int rbd_img_request_fill(struct rbd_img_request *img_request,
|
|
|
rbd_segment_name_free(object_name);
|
|
|
if (!obj_request)
|
|
|
goto out_unwind;
|
|
|
+
|
|
|
/*
|
|
|
* set obj_request->img_request before creating the
|
|
|
* osd_request so that it gets the right snapc
|
|
|
@@ -2207,7 +2208,7 @@ static int rbd_img_request_fill(struct rbd_img_request *img_request,
|
|
|
clone_size,
|
|
|
GFP_ATOMIC);
|
|
|
if (!obj_request->bio_list)
|
|
|
- goto out_partial;
|
|
|
+ goto out_unwind;
|
|
|
} else {
|
|
|
unsigned int page_count;
|
|
|
|
|
|
@@ -2222,7 +2223,7 @@ static int rbd_img_request_fill(struct rbd_img_request *img_request,
|
|
|
osd_req = rbd_osd_req_create(rbd_dev, write_request,
|
|
|
obj_request);
|
|
|
if (!osd_req)
|
|
|
- goto out_partial;
|
|
|
+ goto out_unwind;
|
|
|
obj_request->osd_req = osd_req;
|
|
|
obj_request->callback = rbd_img_obj_callback;
|
|
|
|
|
|
@@ -2249,8 +2250,6 @@ static int rbd_img_request_fill(struct rbd_img_request *img_request,
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
-out_partial:
|
|
|
- rbd_obj_request_put(obj_request);
|
|
|
out_unwind:
|
|
|
for_each_obj_request_safe(img_request, obj_request, next_obj_request)
|
|
|
rbd_obj_request_put(obj_request);
|