]> git.baikalelectronics.ru Git - kernel.git/commit
md/raid5: detect and handle replacements during recovery.
authorNeilBrown <neilb@suse.de>
Thu, 22 Dec 2011 23:17:53 +0000 (10:17 +1100)
committerNeilBrown <neilb@suse.de>
Thu, 22 Dec 2011 23:17:53 +0000 (10:17 +1100)
commit04179db1005812f8fcc6a755c7cdfd67c3f21c80
tree9e629fbc1bab31b588c475181246bbe30778f67a
parent1c673bd793f8bb7261603bca0134c56336eefd2d
md/raid5:  detect and handle replacements during recovery.

During recovery we want to write to the replacement but not
the original.  So we have two new flags
 - R5_NeedReplace if this stripe has a replacement that needs to
   be written at some stage
 - R5_WantReplace if NeedReplace, and the data is available, and
   a 'sync' has been requested on this stripe.

We also distinguish between 'sync and replace' which need to read
all other devices, and 'replace' which only needs to read the
devices being replaced.

Note that during resync we always write to any replacement device.
It might not need to be written to, but as we don't read to compare,
we have to write to be sure.

Signed-off-by: NeilBrown <neilb@suse.de>
drivers/md/raid5.c
drivers/md/raid5.h