|
@@ -2535,6 +2535,7 @@ static void rbd_img_obj_exists_callback(struct rbd_obj_request *obj_request)
|
|
|
*/
|
|
|
orig_request = obj_request->obj_request;
|
|
|
obj_request->obj_request = NULL;
|
|
|
+ rbd_obj_request_put(orig_request);
|
|
|
rbd_assert(orig_request);
|
|
|
rbd_assert(orig_request->img_request);
|
|
|
|
|
@@ -2555,7 +2556,6 @@ static void rbd_img_obj_exists_callback(struct rbd_obj_request *obj_request)
|
|
|
if (!rbd_dev->parent_overlap) {
|
|
|
struct ceph_osd_client *osdc;
|
|
|
|
|
|
- rbd_obj_request_put(orig_request);
|
|
|
osdc = &rbd_dev->rbd_client->client->osdc;
|
|
|
result = rbd_obj_request_submit(osdc, orig_request);
|
|
|
if (!result)
|
|
@@ -2585,7 +2585,6 @@ static void rbd_img_obj_exists_callback(struct rbd_obj_request *obj_request)
|
|
|
out:
|
|
|
if (orig_request->result)
|
|
|
rbd_obj_request_complete(orig_request);
|
|
|
- rbd_obj_request_put(orig_request);
|
|
|
}
|
|
|
|
|
|
static int rbd_img_obj_exists_submit(struct rbd_obj_request *obj_request)
|