Commit 11f77002 authored by Sage Weil's avatar Sage Weil

rbd: fix leak of ops struct

The ops vector must be freed by the rbd_do_request caller.
Signed-off-by: default avatarSage Weil <sage@newdream.net>
parent 446cc634
...@@ -996,6 +996,8 @@ static int rbd_do_op(struct request *rq, ...@@ -996,6 +996,8 @@ static int rbd_do_op(struct request *rq,
ops, ops,
num_reply, num_reply,
rbd_req_cb, 0, NULL); rbd_req_cb, 0, NULL);
rbd_destroy_ops(ops);
done: done:
kfree(seg_name); kfree(seg_name);
return ret; return ret;
...@@ -1063,7 +1065,9 @@ static int rbd_req_sync_notify_ack(struct rbd_device *dev, ...@@ -1063,7 +1065,9 @@ static int rbd_req_sync_notify_ack(struct rbd_device *dev,
{ {
struct ceph_osd_req_op *ops; struct ceph_osd_req_op *ops;
struct page **pages = NULL; struct page **pages = NULL;
int ret = rbd_create_rw_ops(&ops, 1, CEPH_OSD_OP_NOTIFY_ACK, 0); int ret;
ret = rbd_create_rw_ops(&ops, 1, CEPH_OSD_OP_NOTIFY_ACK, 0);
if (ret < 0) if (ret < 0)
return ret; return ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment