Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a364092a authored by Arjan van de Ven's avatar Arjan van de Ven
Browse files

raid: make RAID autodetect default a KConfig option



RAID autodetect has the side effect of requiring synchronisation
of all device drivers, which can make the boot several seconds longer
(I've measured 7 on one of my laptops).... even for systems that don't
have RAID setup for the root filesystem (the only FS where this matters).

This patch makes the default for autodetect a config option; either way
the user can always override via the kernel command line.

Signed-off-by: default avatarArjan van de Ven <arjan@linux.intel.com>
Acked-by: default avatarNeilBrown <neilb@suse.de>
parent 82cbc11a
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -30,6 +30,20 @@ config BLK_DEV_MD

	  If unsure, say N.

config MD_AUTODETECT
	bool "Autodetect RAID arrays during kernel boot"
	depends on BLK_DEV_MD
	default y
	---help---
	  If you say Y here, then the kernel will try to autodetect raid
	  arrays as part of its boot process. 

	  If you don't use raid and say Y, this autodetection can cause 
	  a several-second delay in the boot time due to various
	  synchronisation steps that are part of this step.

	  If unsure, say Y.

config MD_LINEAR
	tristate "Linear (append) mode"
	depends on BLK_DEV_MD
+9 −2
Original line number Diff line number Diff line
@@ -12,7 +12,12 @@
 * The code for that is here.
 */

static int __initdata raid_noautodetect, raid_autopart;
#ifdef CONFIG_MD_AUTODETECT
static int __initdata raid_noautodetect;
#else
static int __initdata raid_noautodetect=1;
#endif
static int __initdata raid_autopart;

static struct {
	int minor;
@@ -252,6 +257,8 @@ static int __init raid_setup(char *str)

		if (!strncmp(str, "noautodetect", wlen))
			raid_noautodetect = 1;
		if (!strncmp(str, "autodetect", wlen))
			raid_noautodetect = 0;
		if (strncmp(str, "partitionable", wlen)==0)
			raid_autopart = 1;
		if (strncmp(str, "part", wlen)==0)
@@ -288,7 +295,7 @@ void __init md_run_setup(void)
	create_dev("/dev/md0", MKDEV(MD_MAJOR, 0));

	if (raid_noautodetect)
		printk(KERN_INFO "md: Skipping autodetection of RAID arrays. (raid=noautodetect)\n");
		printk(KERN_INFO "md: Skipping autodetection of RAID arrays. (raid=autodetect will force)\n");
	else
		autodetect_raid();
	md_setup_drive();