In function handle_failed_sync(): >>/* During recovery devices cannot be removed, so locking and >> * refcounting of rdevs is not needed >> */ >> for (i = 0; i < conf->raid_disks; i++) { >> struct md_rdev *rdev = conf->disks[i].rdev; >> if (rdev >> && !test_bit(Faulty, &rdev->flags) >> && !test_bit(In_sync, &rdev->flags) >> && !rdev_set_badblocks(rdev, sh->sector, >> STRIPE_SECTORS, 0)) >> abort = 1; I have two questions: 1:if raid have two or more spare disks, it wil set bad block on all spare disk. Is it worth it? 2:If raid have two or more spare disks,I can remove spare disks which not working for recovery.Then you shold add locking and refconting. -------------- majianpeng 2012-03-14 -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html