]> git.baikalelectronics.ru Git - kernel.git/commit
md/raid5: Fix possible confusion when multiple write errors occur.
authorNeilBrown <neilb@suse.de>
Mon, 6 Jan 2014 02:19:42 +0000 (13:19 +1100)
committerNeilBrown <neilb@suse.de>
Tue, 14 Jan 2014 05:44:07 +0000 (16:44 +1100)
commitde87aa7b1b0a2cfa6cb51f381ff6c0033ed97a65
tree37d82f8afc4a45b5f3d21d3b518066823b1e9614
parentc03f8c31b44879cdcaacf752f91bc9897228cb3a
md/raid5: Fix possible confusion when multiple write errors occur.

commit e68a65a47cd5189ced78d39caae585dd72359387
    md: raid5 crash during degradation

Fixed a crash in an overly simplistic way which could leave
R5_WriteError or R5_MadeGood set in the stripe cache for devices
for which it is no longer relevant.
When those devices are removed and spares added the flags are still
set and can cause incorrect behaviour.

commit fad5aa9c2cb2bf2a27f01ab67b4146e7c7480ab5
    md/raid5: preferentially read from replacement device if possible.

Fixed the same bug if a more effective way, so we can now revert
the original commit.

Reported-and-tested-by: Alexander Lyakas <alex.bolshoy@gmail.com>
Cc: stable@vger.kernel.org (3.2+ - 3.2 will need a different fix though)
Fixes: e68a65a47cd5189ced78d39caae585dd72359387
Signed-off-by: NeilBrown <neilb@suse.de>
drivers/md/raid5.c