rbd: use a common layout for each device
authorAlex Elder <elder@inktank.com>
Wed, 14 Nov 2012 18:25:19 +0000 (12:25 -0600)
committerAlex Elder <elder@inktank.com>
Thu, 17 Jan 2013 22:34:58 +0000 (16:34 -0600)
commit0903e875caa93e1fb231dd66c69b118dbdad25cb
tree6af900cda01ebc6acdd5f76672a28973f1b323c7
parent47dba7ba2623b088cbbe1ac0aaa1a034f3249b6d
rbd: use a common layout for each device

Each osd message includes a layout structure, and for rbd it is
always the same (at least for osd's in a given pool).

Initialize a layout structure when an rbd_dev gets created and just
copy that into osd requests for the rbd image.

Replace an assertion that was done when initializing the layout
structures with code that catches and handles anything that would
trigger the assertion as soon as it is identified.  This precludes
that (bad) condition from ever occurring.

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