lkml.org 
[lkml]   [2013]   [Jan]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[ 160/171] rbd: BUG on invalid layout
    Date
    3.4-stable review patch.  If anyone has any objections, please let me know.

    ------------------


    From: Sage Weil <sage@inktank.com>

    This shouldn't actually be possible because the layout struct is
    constructed from the RBD header and validated then.

    [elder@inktank.com: converted BUG() call to equivalent rbd_assert()]

    Signed-off-by: Sage Weil <sage@inktank.com>
    Reviewed-by: Alex Elder <elder@inktank.com>
    (based on commit 6cae3717cddaf8e5e96e304733dca66e40d56f89)
    ---
    drivers/block/rbd.c | 5 +++--
    1 file changed, 3 insertions(+), 2 deletions(-)

    --- a/drivers/block/rbd.c
    +++ b/drivers/block/rbd.c
    @@ -930,8 +930,9 @@ static int rbd_do_request(struct request
    layout->fl_object_size = cpu_to_le32(1 << RBD_MAX_OBJ_ORDER);
    layout->fl_pg_preferred = cpu_to_le32(-1);
    layout->fl_pg_pool = cpu_to_le32(dev->poolid);
    - ceph_calc_raw_layout(osdc, layout, snapid, ofs, &len, &bno,
    - req, ops);
    + ret = ceph_calc_raw_layout(osdc, layout, snapid, ofs, &len, &bno,
    + req, ops);
    + BUG_ON(ret != 0);

    ceph_osdc_build_request(req, ofs, &len,
    ops,



    \
     
     \ /
      Last update: 2013-01-16 03:41    [W:4.097 / U:0.248 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site