md/raid5: fix handling of bad blocks during recovery.
authorNeilBrown <neilb@suse.de>
Sun, 1 Apr 2012 13:48:38 +0000 (23:48 +1000)
committerNeilBrown <neilb@suse.de>
Tue, 3 Apr 2012 05:36:17 +0000 (15:36 +1000)
commit18b9837ea0dc3cf844c6c4196871ce91d047bddb
treede8be80b767d144405aeeaf7238c723f575b4b40
parent5220ea1e640869e70f894837678315c878c651fd
md/raid5: fix handling of bad blocks during recovery.

1/ We can only treat a known-bad-block like a read-error if we
   have the data that belongs in that block.  So fix that test.

2/ If we cannot recovery a stripe due to insufficient data,
   don't tell "md_done_sync" that the sync failed unless we really
   did fail something.  If we successfully record bad blocks,
   that is success.

Reported-by: "majianpeng" <majianpeng@gmail.com>
Signed-off-by: NeilBrown <neilb@suse.de>
drivers/md/raid5.c