]> asedeno.scripts.mit.edu Git - linux.git/commit
md/failfast: add failfast flag for md to be used by some personalities.
authorNeilBrown <neilb@suse.com>
Fri, 18 Nov 2016 05:16:11 +0000 (16:16 +1100)
committerShaohua Li <shli@fb.com>
Tue, 22 Nov 2016 16:58:17 +0000 (08:58 -0800)
commit688834e6ae6b21e3d98b5cf2586aa4a9b515c3a0
tree508a052e94aa8483545417395b5261b86c706587
parent3bddb7f8f264ec58dc86e11ca97341c24f9d38f6
md/failfast: add failfast flag for md to be used by some personalities.

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: NeilBrown <neilb@suse.com>
Signed-off-by: Shaohua Li <shli@fb.com>
drivers/md/md.c
drivers/md/md.h
include/uapi/linux/raid/md_p.h