]> git.baikalelectronics.ru Git - kernel.git/commit
md/raid10: don't clear bitmap during recovery if array will still be degraded.
authorNeilBrown <neilb@suse.de>
Thu, 7 May 2009 02:48:10 +0000 (12:48 +1000)
committerNeilBrown <neilb@suse.de>
Thu, 7 May 2009 02:48:10 +0000 (12:48 +1000)
commitefd18b8b0f6df74bb61891f304589e7c1ad34dc3
tree5f1fa83f98d8a6d08cd1916106a2c5b9f9f6ec43
parent8c1d87ce93fd819b0409c5d68427246badfd53da
md/raid10: don't clear bitmap during recovery if array will still be degraded.

If we have a raid10 with multiple missing devices, and we recover just
one of these to a spare, then we risk (depending on the bitmap and
array chunk size) clearing bits of the bitmap for which recovery isn't
complete (because a device is still missing).

This can lead to a subsequent "re-add" being recovered without
any IO happening, which would result in loss of data.

This patch takes the safe approach of not clearing bitmap bits
if the array will still be degraded.

This patch is suitable for all active -stable kernels.

Cc: stable@kernel.org
Signed-off-by: NeilBrown <neilb@suse.de>
drivers/md/raid10.c