• NeilBrown's avatar
    md: allow a reshape operation to be reversed. · 2c810cdd
    NeilBrown authored
    Currently a reshape operation always progresses from the start
    of the array to the end unless the number of devices is being
    reduced, in which case it progressed in the opposite direction.
    
    To reverse a partial reshape which changes the number of devices
    you can stop the array and re-assemble with the raid-disks numbers
    reversed and it will undo.
    
    However for a reshape that does not change the number of devices
    it is not possible to reverse the reshape in the middle - you have to
    wait until it completes.
    
    So add a 'reshape_direction' attribute with is either 'forwards' or
    'backwards' and can be explicitly set when delta_disks is zero.
    
    This will become more important when we allow the data_offset to
    change in a reshape.  Then the explicit statement of what direction is
    being used will be more useful.
    
    This can be enabled in raid5 trivially as it already supports
    reverse reshape and just needs to use a different trigger to request it.
    Signed-off-by: default avatarNeilBrown <neilb@suse.de>
    2c810cdd
raid5.c 168 KB