]> git.karo-electronics.de Git - karo-tx-linux.git/commit
md/raid5: detect and handle replacements during recovery.
authorNeilBrown <neilb@suse.de>
Wed, 9 Nov 2011 00:32:07 +0000 (11:32 +1100)
committerNeilBrown <neilb@suse.de>
Wed, 9 Nov 2011 00:32:07 +0000 (11:32 +1100)
commit2832c6102d7c5f886c93725d0f9c52ba43a97643
tree16ff9b70aeb984527a908faa6807cb6551454404
parentb4e307beea5cef38ecc9c507ea8f303f72553430
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