[PATCH] md: yet another attempt to get bitmap-based resync to do the right thing...
authorNeilBrown <neilb@cse.unsw.edu.au>
Thu, 4 Aug 2005 19:53:34 +0000 (12:53 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Thu, 4 Aug 2005 20:00:54 +0000 (13:00 -0700)
commite3b9703e27aab3839dcdb76b00d98428b67d25b0
treef9b62479cd7062c65e54641cc6190975f529a08b
parent193f1c931517592ec4188d15bf261e4bff368207
[PATCH] md: yet another attempt to get bitmap-based resync to do the right thing in all cases...

Firstly, R1BIO_Degraded was being set in a number of places in the resync
code, but is never used there, so get rid of those settings.

Then: When doing a resync, we want to clear the bit in the bitmap iff the
array will be non-degraded when the sync has completed.  However the current
code would clear the bitmap if the array was non-degraded when the resync
*started*, which obviously isn't right (it is for 'resync' but not for
'recovery' - i.e.  rebuilding a failed drive).

This patch calculated 'still_degraded' and uses the to tell bitmap_start_sync
whether this sync should clear the corresponding bit.

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/md/raid1.c