aboutsummaryrefslogtreecommitdiffstats
path: root/meta-moblin/packages/linux/linux-moblin-2.6.27-rc6/0036-warning-fix-init-do_mounts_md-c.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-moblin/packages/linux/linux-moblin-2.6.27-rc6/0036-warning-fix-init-do_mounts_md-c.patch')
-rw-r--r--meta-moblin/packages/linux/linux-moblin-2.6.27-rc6/0036-warning-fix-init-do_mounts_md-c.patch82
1 files changed, 82 insertions, 0 deletions
diff --git a/meta-moblin/packages/linux/linux-moblin-2.6.27-rc6/0036-warning-fix-init-do_mounts_md-c.patch b/meta-moblin/packages/linux/linux-moblin-2.6.27-rc6/0036-warning-fix-init-do_mounts_md-c.patch
new file mode 100644
index 0000000000..9ba44a892d
--- /dev/null
+++ b/meta-moblin/packages/linux/linux-moblin-2.6.27-rc6/0036-warning-fix-init-do_mounts_md-c.patch
@@ -0,0 +1,82 @@
+From fa3038625d7df2a1244c5b753069e7fdf99af3b5 Mon Sep 17 00:00:00 2001
+From: Ingo Molnar <mingo@elte.hu>
+Date: Mon, 18 Aug 2008 12:54:00 +0200
+Subject: [PATCH] warning: fix init do_mounts_md c
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+
+fix warning:
+
+ init/do_mounts_md.c: In function ‘md_run_setup’:
+ init/do_mounts_md.c:282: warning: ISO C90 forbids mixed declarations and code
+
+also, use the opportunity to put the RAID autodetection code
+into a separate function - this also solves a checkpatch style warning.
+
+No code changed:
+
+md5:
+ aa36a35faef371b05f1974ad583bdbbd do_mounts_md.o.before.asm
+ aa36a35faef371b05f1974ad583bdbbd do_mounts_md.o.after.asm
+
+Signed-off-by: Ingo Molnar <mingo@elte.hu>
+---
+ init/do_mounts_md.c | 36 +++++++++++++++++++++---------------
+ 1 files changed, 21 insertions(+), 15 deletions(-)
+
+diff --git a/init/do_mounts_md.c b/init/do_mounts_md.c
+index 1ec5c41..c0dfd3c 100644
+--- a/init/do_mounts_md.c
++++ b/init/do_mounts_md.c
+@@ -264,26 +264,32 @@ static int __init raid_setup(char *str)
+ __setup("raid=", raid_setup);
+ __setup("md=", md_setup);
+
++static void autodetect_raid(void)
++{
++ int fd;
++
++ /*
++ * Since we don't want to detect and use half a raid array, we need to
++ * wait for the known devices to complete their probing
++ */
++ printk(KERN_INFO "md: Waiting for all devices to be available before autodetect\n");
++ printk(KERN_INFO "md: If you don't use raid, use raid=noautodetect\n");
++ while (driver_probe_done() < 0)
++ msleep(100);
++ fd = sys_open("/dev/md0", 0, 0);
++ if (fd >= 0) {
++ sys_ioctl(fd, RAID_AUTORUN, raid_autopart);
++ sys_close(fd);
++ }
++}
++
+ 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");
+- else {
+- /*
+- * Since we don't want to detect and use half a raid array, we need to
+- * wait for the known devices to complete their probing
+- */
+- printk(KERN_INFO "md: Waiting for all devices to be available before autodetect\n");
+- printk(KERN_INFO "md: If you don't use raid, use raid=noautodetect\n");
+- while (driver_probe_done() < 0)
+- msleep(100);
+- int fd = sys_open("/dev/md0", 0, 0);
+- if (fd >= 0) {
+- sys_ioctl(fd, RAID_AUTORUN, raid_autopart);
+- sys_close(fd);
+- }
+- }
++ else
++ autodetect_raid();
+ md_setup_drive();
+ }
+--
+1.5.4.3
+