]> git.baikalelectronics.ru Git - kernel.git/commit
md/raid1: avoid reading known bad blocks during resync
authorNeilBrown <neilb@suse.de>
Thu, 28 Jul 2011 01:31:48 +0000 (11:31 +1000)
committerNeilBrown <neilb@suse.de>
Thu, 28 Jul 2011 01:31:48 +0000 (11:31 +1000)
commitfd239679e1b97b529e12d73e743acc4714cf5fdd
tree49a7f239a9c2de4bf97d998f161b229a565e33cd
parentb73e263085701d42f7cdc9b0e700ef3c90eb91ea
md/raid1: avoid reading known bad blocks during resync

When performing resync/etc, keep the size of the request
small enough that it doesn't overlap any known bad blocks.
Devices with badblocks at the start of the request are completely
excluded.
If there is nowhere to read from due to bad blocks, record
a bad block on each target device.

Now that we never read from known-bad-blocks we can allow devices with
known-bad-blocks into a RAID1.

Signed-off-by: NeilBrown <neilb@suse.de>
drivers/md/raid1.c