rbd: don't call rbd_osd_req_format_read() for !img_data requests
authorIlya Dryomov <idryomov@gmail.com>
Thu, 15 Sep 2016 15:56:39 +0000 (17:56 +0200)
committerIlya Dryomov <idryomov@gmail.com>
Mon, 3 Oct 2016 14:13:49 +0000 (16:13 +0200)
commit7c84883adf6dc614fc9e01304aa1813a55c43ad2
tree182db0abb76f1588ba12b99e7c3ec320b50c9b47
parent710214e391476f331abed1b774b5f025d054ab7f
rbd: don't call rbd_osd_req_format_read() for !img_data requests

Accessing obj_request->img_request union field is only valid for object
requests associated with an image (i.e. if obj_request_img_data_test()
returns true).  rbd_osd_req_format_read() used to do more, but now it
just sets osd_req->snap_id.  Standalone and stat object requests always
go to the HEAD revision and are fine with CEPH_NOSNAP set by libceph,
so get around the invalid union field use by simply not calling
rbd_osd_req_format_read() in those places.

Reported-by: David Disseldorp <ddiss@suse.de>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Alex Elder <elder@linaro.org>
Reviewed-by: David Disseldorp <ddiss@suse.de>
drivers/block/rbd.c