]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/blob
03b3b82202aaac97143b889f6be45d7b0c5cf653
[thirdparty/openembedded/openembedded-core-contrib.git] /
1 From b52c36a95ed8026b6925fe8595ebcab6921ae62d Mon Sep 17 00:00:00 2001
2 From: Arjan van de Ven <arjan@linux.intel.com>
3 Date: Sun, 20 Jul 2008 13:07:09 -0700
4 Subject: [PATCH] fastboot: make the raid autodetect code wait for all devices to init
5
6 The raid autodetect code really needs to have all devices probed before
7 it can detect raid arrays; not doing so would give rather messy situations
8 where arrays would get detected as degraded while they shouldn't be etc.
9
10 This is in preparation of removing the "wait for everything to init"
11 code that makes everyone pay, not just raid users.
12
13 Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
14 ---
15 init/do_mounts_md.c | 7 +++++++
16 1 files changed, 7 insertions(+), 0 deletions(-)
17
18 diff --git a/init/do_mounts_md.c b/init/do_mounts_md.c
19 index 693d246..c0412a9 100644
20 --- a/init/do_mounts_md.c
21 +++ b/init/do_mounts_md.c
22 @@ -267,9 +267,16 @@ __setup("md=", md_setup);
23 void __init md_run_setup(void)
24 {
25 create_dev("/dev/md0", MKDEV(MD_MAJOR, 0));
26 +
27 if (raid_noautodetect)
28 printk(KERN_INFO "md: Skipping autodetection of RAID arrays. (raid=noautodetect)\n");
29 else {
30 + /*
31 + * Since we don't want to detect and use half a raid array, we need to
32 + * wait for the known devices to complete their probing
33 + */
34 + while (driver_probe_done() != 0)
35 + msleep(100);
36 int fd = sys_open("/dev/md0", 0, 0);
37 if (fd >= 0) {
38 sys_ioctl(fd, RAID_AUTORUN, raid_autopart);
39 --
40 1.5.4.3
41