NeilBrown b50c259e25 md/raid10: fix two bugs in handling of known-bad-blocks.
If we discover a bad block when reading we split the request and
potentially read some of it from a different device.

The code path of this has two bugs in RAID10.
1/ we get a spin_lock with _irq, but unlock without _irq!!
2/ The calculation of 'sectors_handled' is wrong, as can be clearly
   seen by comparison with raid1.c

This leads to at least 2 warnings and a probable crash is a RAID10
ever had known bad blocks.

Cc: stable@vger.kernel.org (v3.1+)
Fixes: 856e08e23762dfb92ffc68fd0a8d228f9e152160
Reported-by: Damian Nowak <spam@nowaker.net>
URL: https://bugzilla.kernel.org/show_bug.cgi?id=68181
Signed-off-by: NeilBrown <neilb@suse.de>
2014-01-14 16:44:07 +11:00
..
2013-11-19 15:53:02 -05:00
2013-10-29 12:53:07 +02:00
2013-11-07 19:24:20 +01:00
2013-11-19 01:06:28 +01:00
2013-11-15 09:32:23 +09:00
2013-11-14 11:04:38 -08:00
2013-11-15 14:05:15 -08:00
2013-11-22 10:53:47 -08:00
2013-10-24 16:18:40 +01:00
2013-11-18 15:35:09 -08:00