[PATCH] md: make sure the events count in an md array never returns to zero
Now that we sometimes step the array events count backwards (when transitioning dirty->clean where nothing else interesting has happened - so that we don't need to write to spares all the time), it is possible for the event count to return to zero, which is potentially confusing and triggers and MD_BUG. We could possibly remove the MD_BUG, but is just as easy, and probably safer, to make sure we never return to zero. Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
3eda22d19b
commit
1031be7a5f
@ -1633,7 +1633,8 @@ repeat:
|
||||
* and 'events' is odd, we can roll back to the previous clean state */
|
||||
if (nospares
|
||||
&& (mddev->in_sync && mddev->recovery_cp == MaxSector)
|
||||
&& (mddev->events & 1))
|
||||
&& (mddev->events & 1)
|
||||
&& mddev->events != 1)
|
||||
mddev->events--;
|
||||
else {
|
||||
/* otherwise we have to go forward and ... */
|
||||
|
Loading…
Reference in New Issue
Block a user