]> git.baikalelectronics.ru Git - kernel.git/commit
md/raid1: Fix assembling of arrays containing Replacements.
authorNeilBrown <neilb@suse.de>
Wed, 31 Oct 2012 00:42:03 +0000 (11:42 +1100)
committerNeilBrown <neilb@suse.de>
Wed, 31 Oct 2012 00:42:03 +0000 (11:42 +1100)
commit776750489d0b611f3473b271109f9843207504a6
treed66e05604b227e9b952db28fd796013a5cf22515
parent0424992fe2b7baff4f23d67b622ef5ed9a879fec
md/raid1: Fix assembling of arrays containing Replacements.

setup_conf in raid1.c uses conf->raid_disks before assigning
a value.  It is used when including 'Replacement' devices.

The consequence is that assembling an array which contains a
replacement will misbehave and either not include the replacement, or
not include the device being replaced.

Though this doesn't lead directly to data corruption, it could lead to
reduced data safety.

So use mddev->raid_disks, which is initialised, instead.

Bug was introduced by commit 72662f3259a1744dfb233bebf0fcf4c88e21ef35
      md/raid1: recognise replacements when assembling arrays.

in 3.3, so fix is suitable for 3.3.y thru 3.6.y.

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