diff options
author | NeilBrown <neilb@suse.de> | 2011-07-27 11:00:36 +1000 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2011-07-27 11:00:36 +1000 |
commit | 8cfa7b0f67b4d899efc7f39eb7e172fd79237811 (patch) | |
tree | df1002e5eccbf4b241dc9e948bb894de2106d6e2 /drivers/md/raid1.c | |
parent | cbea21703b2484f83faef040ed1de30114794392 (diff) | |
download | linux-8cfa7b0f67b4d899efc7f39eb7e172fd79237811.tar.bz2 |
md/raid5: Avoid BUG caused by multiple failures.
While preparing to write a stripe we keep the parity block or blocks
locked (R5_LOCKED) - towards the end of schedule_reconstruction.
If the array is discovered to have failed before this write completes
we can leave those blocks LOCKED, and init_stripe will notice that a
free stripe still has a locked block and will complain.
So clear the R5_LOCKED flag in handle_failed_stripe, and demote the
'BUG' to a 'WARN_ON'.
Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'drivers/md/raid1.c')
0 files changed, 0 insertions, 0 deletions