• NeilBrown's avatar
    md/failfast: add failfast flag for md to be used by some personalities. · 688834e6
    NeilBrown authored
    This patch just adds a 'failfast' per-device flag which can be stored
    in v0.90 or v1.x metadata.
    The flag is not used yet but the intent is that it can be used for
    mirrored (raid1/raid10) arrays where low latency is more important
    than keeping all devices on-line.
    
    Setting the flag for a device effectively gives permission for that
    device to be marked as Faulty and excluded from the array on the first
    error.  The underlying driver will be directed not to retry requests
    that result in failures.  There is a proviso that the device must not
    be marked faulty if that would cause the array as a whole to fail, it
    may only be marked Faulty if the array remains functional, but is
    degraded.
    
    Failures on read requests will cause the device to be marked
    as Faulty immediately so that further reads will avoid that
    device.  No attempt will be made to correct read errors by
    over-writing with the correct data.
    
    It is expected that if transient errors, such as cable unplug, are
    possible, then something in user-space will revalidate failed
    devices and re-add them when they appear to be working again.
    Signed-off-by: default avatarNeilBrown <neilb@suse.com>
    Signed-off-by: default avatarShaohua Li <shli@fb.com>
    688834e6
md.c 233 KB