• NeilBrown's avatar
    md: fix bug in handling of new_data_offset · 25f7fd47
    NeilBrown authored
    commit c6563a8c
        md: add possibility to change data-offset for devices.
    
    introduced a 'new_data_offset' attribute which should normally
    be the same as 'data_offset', but can be explicitly set to a different
    value to allow a reshape operation to move the data.
    
    Unfortunately when the 'data_offset' is explicitly set through
    sysfs, the new_data_offset is not also set, so the two would become
    out-of-sync incorrectly.
    
    One result of this is that trying to set the 'size' after the
    'data_offset' would fail because it is not permitted to set the size
    when the 'data_offset' and 'new_data_offset' are different - as that
    can be confusing.
    Consequently when mdadm tried to do this while assembling an IMSM
    array it would fail.
    
    This bug was introduced in 3.5-rc1.
    Reported-by: default avatarBrian Downing <bdowning@lavos.net>
    Bisected-by: default avatarBrian Downing <bdowning@lavos.net>
    Tested-by: default avatarBrian Downing <bdowning@lavos.net>
    Signed-off-by: default avatarNeilBrown <neilb@suse.de>
    25f7fd47
md.c 222 KB