linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] md: Detect raid1->raid0 takeover when comparing raid_disks
@ 2011-02-10  9:30 Krzysztof Wojcik
  2011-02-13 23:02 ` NeilBrown
  0 siblings, 1 reply; 2+ messages in thread
From: Krzysztof Wojcik @ 2011-02-10  9:30 UTC (permalink / raw)
  To: neilb
  Cc: linux-raid, wojciech.neubauer, adam.kwolek, dan.j.williams,
	ed.ciechanowski

Takeover raid1->raid0 not succeded. Kernel message is shown:
"md/raid0:md126: too few disks (1 of 2) - aborting!"

After takeover process we have only one active disk
(rest of raid1's disks have been removed before takeover)
mddev->raid_disks stores initial number of disks so comparing
mddev->raid_disks with "cnt" calculated in create_strip_zones()
returns error.

Patch introduces fix for this- skip comparing number of disk if
takeover is detected.

Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik@intel.com>
---
 drivers/md/raid0.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/md/raid0.c b/drivers/md/raid0.c
index 637a968..9255d52 100644
--- a/drivers/md/raid0.c
+++ b/drivers/md/raid0.c
@@ -215,7 +215,8 @@ static int create_strip_zones(mddev_t *mddev, raid0_conf_t **private_conf)
 			smallest = rdev1;
 		cnt++;
 	}
-	if (cnt != mddev->raid_disks) {
+	/* compare number of disk if not taking over raid1 */
+	if ((cnt != mddev->raid_disks) && (mddev->level != 1)) {
 		printk(KERN_ERR "md/raid0:%s: too few disks (%d of %d) - "
 		       "aborting!\n", mdname(mddev), cnt, mddev->raid_disks);
 		goto abort;


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-02-13 23:02 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-02-10  9:30 [PATCH] md: Detect raid1->raid0 takeover when comparing raid_disks Krzysztof Wojcik
2011-02-13 23:02 ` NeilBrown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).