• Alex Elder's avatar
    rbd: fix a bug in resizing a mapping · e28626a0
    Alex Elder authored
    When a snapshot context update occurs, rbd_update_mapping_size() is
    called to set the capacity of the disk to record the updated
    size of the image in case it has changed.
    
    There's a bug though.  The mapping size is in units of *bytes*.  The
    code that updates the mapping size field is assigning a value that
    has been scaled down to *sectors*.
    
    Fix that.  Also, check to see if the size has actually changed, and
    don't bother updating things (specifically, calling set_capacity())
    if it has not.
    
    This resolves:
        http://tracker.ceph.com/issues/4833Signed-off-by: default avatarAlex Elder <elder@inktank.com>
    Reviewed-by: default avatarJosh Durgin <josh.durgin@inktank.com>
    e28626a0
rbd.c 130 KB