Skip to contentSkip to conversation

md=d0,/dev/hda,/dev/hdb fails if hda is missing

PATCH New Miquel van Smoorenburg 1 participant 1 message Mar 22, 2004

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 md=d0,/dev/hda,/dev/hdb fails if hda is missing

If you assemble disks with md=d0,/dev/hda,/dev/hdb it fails if /dev/hda is missing (for example because it's dead).

This patch fixes it:

init/do_mounts_md.c renamed from init/do_mounts_md.c.ORIG +6 -7
@@ -142,7 +142,7 @@
 		else
 			dev = MKDEV(MD_MAJOR, minor);
 		create_dev(name, dev, devfs_name);
-		for (i = 0; i < MD_SB_DISKS && devname != 0; i++) {
+		for (i = 0; i < MD_SB_DISKS && devname != 0;) {
 			char *p;
 			char comp_name[64];
 			u32 rdev;
@@ -158,12 +158,11 @@
 			rdev = bstat(comp_name);
 			if (rdev)
 				dev = new_decode_dev(rdev);
-			if (!dev) {
-				printk(KERN_WARNING "md: Unknown device name: %s\n", devname);
-				break;
-			}
-
-			devices[i] = dev;
+			if (dev)
+				devices[i++] = dev;
+			else
+				printk(KERN_WARNING "md: Unknown device name: "
+						    "%s\n", devname);
 
 			devname = p;
 		}

Mike.

Signature · 1 line
Netu, v qba'g yvxr gur cynvagrkg :)