summaryrefslogtreecommitdiffstats
path: root/abs/core-testing/klibc/multiple_raid_assembly_fix.patch
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core-testing/klibc/multiple_raid_assembly_fix.patch')
-rw-r--r--abs/core-testing/klibc/multiple_raid_assembly_fix.patch20
1 files changed, 20 insertions, 0 deletions
diff --git a/abs/core-testing/klibc/multiple_raid_assembly_fix.patch b/abs/core-testing/klibc/multiple_raid_assembly_fix.patch
new file mode 100644
index 0000000..237a1db
--- /dev/null
+++ b/abs/core-testing/klibc/multiple_raid_assembly_fix.patch
@@ -0,0 +1,20 @@
+--- a/usr/kinit/do_mounts_md.c 2006-07-31 21:16:01.000000000 -0500
++++ b/usr/kinit/do_mounts_md.c 2006-07-31 21:18:46.000000000 -0500
+@@ -228,6 +228,7 @@
+ char *devname;
+ mdu_disk_info_t dinfo;
+ char name[16];
++ struct stat st_chk;
+
+ dev_minor = md_setup_args[ent].minor;
+ partitioned = md_setup_args[ent].partitioned;
+@@ -236,6 +237,9 @@
+ snprintf(name, sizeof name,
+ "/dev/md%s%d", partitioned ? "_d" : "", dev_minor);
+
++ if (stat(name, &st_chk) == 0)
++ continue;
++
+ if (partitioned)
+ dev = makedev(mdp_major(), dev_minor << MdpMinorShift);
+ else