• Yufen Yu's avatar
    md/raid1: end bio when the device faulty · eeba6809
    Yufen Yu authored
    When write bio return error, it would be added to conf->retry_list
    and wait for raid1d thread to retry write and acknowledge badblocks.
    
    In narrow_write_error(), the error bio will be split in the unit of
    badblock shift (such as one sector) and raid1d thread issues them
    one by one. Until all of the splited bio has finished, raid1d thread
    can go on processing other things, which is time consuming.
    
    But, there is a scene for error handling that is not necessary.
    When the device has been set faulty, flush_bio_list() may end
    bios in pending_bio_list with error status. Since these bios
    has not been issued to the device actually, error handlding to
    retry write and acknowledge badblocks make no sense.
    
    Even without that scene, when the device is faulty, badblocks info
    can not be written out to the device. Thus, we also no need to
    handle the error IO.
    Signed-off-by: default avatarYufen Yu <yuyufen@huawei.com>
    Signed-off-by: default avatarSong Liu <songliubraving@fb.com>
    eeba6809
raid1.c 91.9 KB