rbd: implement sync object read with new code
authorAlex Elder <elder@inktank.com>
Thu, 17 Jan 2013 18:25:27 +0000 (12:25 -0600)
committerSage Weil <sage@inktank.com>
Thu, 14 Feb 2013 02:29:08 +0000 (18:29 -0800)
commit788e2df3b92e30f1fff74139bb53e68ec13fe2a5
treee0386e011b2dd488bb55e1b2baef4677b11ad6b2
parent7d250b949a33c8a658a2ad4ab390d8394b842224
rbd: implement sync object read with new code

Reimplement the synchronous read operation used for reading a
version 1 header using the new request tracking code.  Name the
resulting function rbd_obj_read_sync() to better reflect that
it's a full object operation, not an object request.  To do this,
implement a new OBJ_REQUEST_PAGES object request type.

This implements a new mechanism to allow the caller to wait for
completion for an rbd_obj_request by calling rbd_obj_request_wait().

This partially resolves:
    http://tracker.newdream.net/issues/3755

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