summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2009-09-30 20:37:00 +0200
committerHans de Goede <hdegoede@redhat.com>2009-09-30 22:25:35 +0200
commit88ebe8cbc30c4d79d4efe7fb48067211b1167bee (patch)
treefdfe94e309f8b5cd4575de3a5b11bcdcf3eca519
parent492e90e1f2731828210d71b73eff294a581136ed (diff)
downloadanaconda-88ebe8cbc30c4d79d4efe7fb48067211b1167bee.tar.gz
anaconda-88ebe8cbc30c4d79d4efe7fb48067211b1167bee.tar.xz
anaconda-88ebe8cbc30c4d79d4efe7fb48067211b1167bee.zip
Stop /lib/udev/rules.d/65-md-incremental.rules from messing with mdraid sets
Touch /dev/.in_sysinit, as that stops /lib/udev/rules.d/65-md-incremental.rules from messing with mdraid sets. This patch adds the touching twice, once to our own init, for when running as standalone installer, and once in python for when running from a livecd, to stop the udev trigger "block" we do will cause /lib/udev/rules.d/65-md-incremental.rules to trigger in the livecd case.
-rw-r--r--loader/init.c5
-rw-r--r--storage/__init__.py4
2 files changed, 9 insertions, 0 deletions
diff --git a/loader/init.c b/loader/init.c
index 627428e9c..d941f86ee 100644
--- a/loader/init.c
+++ b/loader/init.c
@@ -386,6 +386,11 @@ static void createDevices(void) {
fprintf(stderr, "Unable to create device %s: %m\n", devname);
}
+ /* Hurray for hacks, this stops /lib/udev/rules.d/65-md-incremental.rules
+ from medling with mdraid sets. */
+ i = creat("/dev/.in_sysinit", 0644);
+ close(i);
+
/* Restore umask for minimal side affects */
umask(previous_umask);
}
diff --git a/storage/__init__.py b/storage/__init__.py
index 376eda2bd..62f0021ac 100644
--- a/storage/__init__.py
+++ b/storage/__init__.py
@@ -65,6 +65,10 @@ def storageInitialize(anaconda):
if anaconda.dir == DISPATCH_BACK:
return
+ # touch /dev/.in_sysinit so that /lib/udev/rules.d/65-md-incremental.rules
+ # does not mess with any mdraid sets
+ open("/dev/.in_sysinit", "w")
+
# XXX I don't understand why I have to do this
udev_trigger(subsystem="block")