diff options
Diffstat (limited to 'source/l/hal/patches/ignore_internal_dm_devices.diff')
-rw-r--r-- | source/l/hal/patches/ignore_internal_dm_devices.diff | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/source/l/hal/patches/ignore_internal_dm_devices.diff b/source/l/hal/patches/ignore_internal_dm_devices.diff new file mode 100644 index 00000000..735a45f3 --- /dev/null +++ b/source/l/hal/patches/ignore_internal_dm_devices.diff @@ -0,0 +1,47 @@ +From 6f16321da13f6a7cbd9c424ddba2e727e434fa25 Mon Sep 17 00:00:00 2001 +From: Milan Broz <mbroz@redhat.com> +Date: Tue, 13 Jul 2010 16:07:32 +0200 +Subject: [PATCH] HAL: Ignore internal DM devices with new DM udev rules + +With new device-mapper udev rules are /dev/mapper/* symlinks +to basic device name /dev/dm-X. +(Change requested by udev upstream.) + +This change breaks temporary-cryptsetup workaround inside hal. + +With new dm-udev rules (uncluded since device-mapper 1.02.39) +there is DM_UDEV_DISABLE_OTHER_RULES_FLAG variable +which controls that scan should be ignored for this device +(it is set for all internal devices, including temporary cryptsetup, +internal parts of lvm devices etc.) + +Ignore device if this flag is set. + +See bugs +https://bugzilla.redhat.com/show_bug.cgi?id=613909 +http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=586286 + +Signed-off-by: Milan Broz <mbroz@redhat.com> +--- + hald/linux/osspec.c | 5 +++++ + 1 files changed, 5 insertions(+), 0 deletions(-) + +diff --git a/hald/linux/osspec.c b/hald/linux/osspec.c +index a8233fd..6d616bc 100644 +--- a/hald/linux/osspec.c ++++ b/hald/linux/osspec.c +@@ -215,6 +215,11 @@ hald_udev_data (GIOChannel *source, GIOCondition condition, gpointer user_data) + g_free (str); + } + g_free (dstr); ++ } else if (strncmp(key, "DM_UDEV_DISABLE_OTHER_RULES_FLAG=", 33) == 0) { ++ if (strtoul(&key[33], NULL, 10) == 1) { ++ HAL_INFO (("ignoring device requested by DM udev rules")); ++ goto invalid; ++ } + } + } + +-- +1.7.3.2 + |