]> git.baikalelectronics.ru Git - kernel.git/commit
md: close a livelock window in handle_parity_checks5
authorDan Williams <dan.j.williams@intel.com>
Fri, 11 Apr 2008 04:29:27 +0000 (21:29 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 11 Apr 2008 15:06:44 +0000 (08:06 -0700)
commit49834098fd029d609eb6134583aaec1f2995c8e3
treeda52cf8952a660f17ce45c8c510ded9a3487180a
parente24c7b5592fc5b919ea05d64e540e05327c31f68
md: close a livelock window in handle_parity_checks5

If a failure is detected after a parity check operation has been initiated,
but before it completes handle_parity_checks5 will never quiesce operations on
the stripe.

Explicitly handle this case by "canceling" the parity check, i.e.  clear the
STRIPE_OP_CHECK flags and queue the stripe on the handle list again to refresh
any non-uptodate blocks.

Kernel versions >= 2.6.23 are susceptible.

Cc: <stable@kernel.org>
Cc: NeilBrown <neilb@suse.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/md/raid5.c