Skip to content

Commit

Permalink
rbd: fix an incorrect assertion condition
Browse files Browse the repository at this point in the history
In rbd_img_obj_parent_read_full_callback() there is an assertion
intended to verify the size of the image request for a full parent
read was the size of the original request's target object.  But
assertion was looking at the parent image order rather than the
original one, and these values can differ.

Fix that.

This resolves:
    http://tracker.ceph.com/issues/4938

Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
  • Loading branch information
Alex Elder committed May 9, 2013
1 parent 2df3fac commit 91c6feb
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions drivers/block/rbd.c
Original file line number Diff line number Diff line change
Expand Up @@ -2186,13 +2186,13 @@ rbd_img_obj_parent_read_full_callback(struct rbd_img_request *img_request)
result = img_request->result;
obj_size = img_request->length;
xferred = img_request->xferred;
rbd_img_request_put(img_request);

rbd_dev = img_request->rbd_dev;
rbd_assert(orig_request->img_request);
rbd_dev = orig_request->img_request->rbd_dev;
rbd_assert(rbd_dev);
rbd_assert(obj_size == (u64)1 << rbd_dev->header.obj_order);

rbd_img_request_put(img_request);

if (result)
goto out_err;

Expand Down

0 comments on commit 91c6feb

Please sign in to comment.