]> git.baikalelectronics.ru Git - kernel.git/commit
rbd: zero return code in rbd_dev_image_id()
authorAlex Elder <elder@inktank.com>
Thu, 11 Oct 2012 04:19:13 +0000 (21:19 -0700)
committerAlex Elder <elder@inktank.com>
Fri, 26 Oct 2012 22:18:08 +0000 (17:18 -0500)
commita7b5d39beac784052d93f1834cb9d98ab24d3531
tree044dcaf850e2adf158deeea3a8091cba6a5a2e10
parent05b0f2f39280bd9f712be27ac2a0decdcfcaa049
rbd: zero return code in rbd_dev_image_id()

When rbd_dev_probe() calls rbd_dev_image_id() it expects to get
a 0 return code if successful, but it is getting a positive value.

The reason is that rbd_dev_image_id() returns the value it gets from
rbd_req_sync_exec(), which returns the number of bytes read in as a
result of the request.  (This ultimately comes from
ceph_copy_from_page_vector() in rbd_req_sync_op()).

Force the return value to 0 when successful in rbd_dev_image_id().
Do the same in rbd_dev_v2_object_prefix().

Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
drivers/block/rbd.c