tree 141e59c5ab978675339b34e6ddb8fe0b39156853
parent 6d508242b231cb6e6803faaef54456abe846edb8
author NeilBrown <[EMAIL PROTECTED]> Sat, 10 Sep 2005 06:24:04 -0700
committer Linus Torvalds <[EMAIL PROTECTED]> Sat, 10 Sep 2005 06:39:15 -0700

[PATCH] md: fix BUG when raid10 rebuilds without enough drives

This shouldn't be a BUG.  We should cope.

Signed-off-by: Neil Brown <[EMAIL PROTECTED]>
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>

 drivers/md/raid10.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c
--- a/drivers/md/raid10.c
+++ b/drivers/md/raid10.c
@@ -1474,7 +1474,13 @@ static sector_t sync_request(mddev_t *md
                                        }
                                }
                                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) {
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to