On 5/7/19 10:08 AM, Artur Paszkiewicz wrote: > If a member drive disappears and is set faulty by the kernel during > mdmon startup, after ss->load_container() but before manage_new(), mdmon > will try to readd the faulty drive to the array and start rebuilding. > Metadata on the active drive is updated, but the faulty drive is not > removed from the array and is left in a "blocked" state and any write > request to the array will block. If the faulty drive reappears in the > system e.g. after a reboot, the array will not assemble because metadata > on the drives will be incompatible (at least on imsm). > > Fix this by adding a new option for sysfs_read(): "GET_DEVS_ALL". This > is an extension for the "GET_DEVS" option and causes all member devices > to be returned, even if the associated block device has been removed. > Use this option in manage_new() to include the faulty device on the > active_array's devices list. Mdmon will then properly remove the faulty > device from the array and update the metadata to reflect the degraded > state. > > Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@xxxxxxxxx> Looks reasonable! Applied! Thanks, Jes