summaryrefslogtreecommitdiffstats
path: root/arch/3.5.13/trinity-base/hal/patches/hal-ignore-internal-dm-devices.patch
diff options
context:
space:
mode:
Diffstat (limited to 'arch/3.5.13/trinity-base/hal/patches/hal-ignore-internal-dm-devices.patch')
-rw-r--r--arch/3.5.13/trinity-base/hal/patches/hal-ignore-internal-dm-devices.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/arch/3.5.13/trinity-base/hal/patches/hal-ignore-internal-dm-devices.patch b/arch/3.5.13/trinity-base/hal/patches/hal-ignore-internal-dm-devices.patch
new file mode 100644
index 000000000..9ad8656ca
--- /dev/null
+++ b/arch/3.5.13/trinity-base/hal/patches/hal-ignore-internal-dm-devices.patch
@@ -0,0 +1,43 @@
+From 6f16321da13f6a7cbd9c424ddba2e727e434fa25 Mon Sep 17 00:00:00 2001
+From: Milan Broz <mbroz@redhat.com>
+Date: Tue, 13 Jul 2010 14:07:32 +0000
+Subject: 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>
+---
+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;
++ }
+ }
+ }
+
+--
+cgit v0.8.3-6-g21f6