• Heinz Mauelshagen's avatar
    dm raid: fix RAID leg rebuild errors · 36a240a7
    Heinz Mauelshagen authored
    On fast devices such as NVMe, a flaw in rs_get_progress() results in
    false target status output when userspace lvm2 requests leg rebuilds
    (symptom of the failure is device health chars 'aaaaaaaa' instead of
    expected 'aAaAAAAA' causing lvm2 to fail).
    
    The correct sync action state definitions already exist in
    decipher_sync_action() so fix rs_get_progress() to use it.
    
    Change decipher_sync_action() to return an enum rather than a string for
    the sync states and call it from rs_get_progress().  Introduce
    sync_str() to translate from enum to the string that is needed by
    raid_status().
    Signed-off-by: default avatarHeinz Mauelshagen <heinzm@redhat.com>
    Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
    36a240a7
dm-raid.c 116 KB