md: close some races between setting and checking sync_action.
authorNeilBrown <neilb@suse.com>
Mon, 6 Jul 2015 02:26:57 +0000 (12:26 +1000)
committerNeilBrown <neilb@suse.com>
Mon, 31 Aug 2015 17:30:40 +0000 (19:30 +0200)
commit985ca973b68cac0adfa83497db231da7f99c6ed9
tree816918bd82c720959d6d7728376436709f65c16d
parentf7851be736d58e7270f05a4ca84b16ce72734a18
md: close some races between setting and checking sync_action.

When checking sync_action in a script, we want to be sure it is
as accurate as possible.
As resync/reshape etc doesn't always start immediately (a separate
thread is scheduled to do it), it is best if 'action_show'
checks if MD_RECOVER_NEEDED is set (which it does) and in that
case reports what is likely to start soon (which it only sometimes
does).

So:
 - report 'reshape' if reshape_position suggests one might start.
 - set MD_RECOVERY_RECOVER in raid1_reshape(), because that is very
   likely to happen next.

Signed-off-by: NeilBrown <neilb@suse.com>
drivers/md/md.c
drivers/md/raid1.c