md: Use REQ_FAILFAST_* on metadata writes where appropriate
authorNeilBrown <neilb@suse.com>
Fri, 18 Nov 2016 05:16:11 +0000 (16:16 +1100)
committerShaohua Li <shli@fb.com>
Tue, 22 Nov 2016 17:11:33 +0000 (09:11 -0800)
commit46533ff7fefb7e9e3539494f5873b00091caa8eb
treec594fb27cb08069d7ce63bcaa5439d5e7313a6aa
parent688834e6ae6b21e3d98b5cf2586aa4a9b515c3a0
md: Use REQ_FAILFAST_* on metadata writes where appropriate

This can only be supported on personalities which ensure
that md_error() never causes an array to enter the 'failed'
state.  i.e. if marking a device Faulty would cause some
data to be inaccessible, the device is status is left as
non-Faulty.  This is true for RAID1 and RAID10.

If we get a failure writing metadata but the device doesn't
fail, it must be the last device so we re-write without
FAILFAST to improve chance of success.  We also flag the
device as LastDev so that future metadata updates don't
waste time on failfast writes.

Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Shaohua Li <shli@fb.com>
drivers/md/bitmap.c
drivers/md/md.c
drivers/md/md.h
drivers/md/raid1.c
drivers/md/raid10.c