From: NeilBrown Date: Fri, 9 Sep 2005 23:24:04 +0000 (-0700) Subject: [PATCH] md: fix BUG when raid10 rebuilds without enough drives X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=87fc767b832ef5a681a0ff9d203c3289bc3be2bf;p=openwrt%2Fstaging%2Fblogic.git [PATCH] md: fix BUG when raid10 rebuilds without enough drives This shouldn't be a BUG. We should cope. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c index 834bf0f86222..5bd1e9ec899d 100644 --- a/drivers/md/raid10.c +++ b/drivers/md/raid10.c @@ -1474,7 +1474,13 @@ static sector_t sync_request(mddev_t *mddev, sector_t sector_nr, int *skipped, i } } if (j == conf->copies) { - BUG(); + /* Cannot recover, so abort the recovery */ + put_buf(r10_bio); + r10_bio = rb2; + if (!test_and_set_bit(MD_RECOVERY_ERR, &mddev->recovery)) + printk(KERN_INFO "raid10: %s: insufficient working devices for recovery.\n", + mdname(mddev)); + break; } } if (biolist == NULL) {