18971c
From 05b79aaa9dde30d4f179303a81084b59898406b6 Mon Sep 17 00:00:00 2001
18971c
From: Peter Rajnoha <prajnoha@redhat.com>
18971c
Date: Mon, 25 Nov 2013 14:38:00 +0100
18971c
Subject: [PATCH] lvm: do not run pvscan for lvmetad update
18971c
18971c
The lvmetad daemon is not yet running in initramfs so there's no
18971c
need to run pvscan (or instantiate any lvm2-pvscan systemd service).
18971c
If pvscan was called in this case (either directly or via systemd
18971c
instantiated service), it would fail because there's no lvmetad
18971c
daemon to update. This could cause confusion, especially in systemd
18971c
instantiated service which is run only once!
18971c
---
18971c
 modules.d/90lvm/module-setup.sh | 10 ++++++++++
18971c
 1 file changed, 10 insertions(+)
18971c
18971c
diff --git a/modules.d/90lvm/module-setup.sh b/modules.d/90lvm/module-setup.sh
18971c
index f1c19a22..7e3d44fa 100755
18971c
--- a/modules.d/90lvm/module-setup.sh
18971c
+++ b/modules.d/90lvm/module-setup.sh
18971c
@@ -74,6 +74,16 @@ install() {
18971c
     fi
18971c
 
18971c
     inst_rules 11-dm-lvm.rules 69-dm-lvm-metad.rules
18971c
+
18971c
+    # Do not run lvmetad update via pvscan in udev rule  - lvmetad is not running yet in dracut!
18971c
+    if grep -q SYSTEMD_WANTS ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules; then
18971c
+        sed -i -e 's/^ENV{SYSTEMD_ALIAS}=.*/# No LVM pvscan in dracut - lvmetad is not running yet/' ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules
18971c
+        sed -i -e 's/^ENV{ID_MODEL}=.*//' ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules
18971c
+        sed -i -e 's/^ENV{SYSTEMD_WANTS}=.*//' ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules
18971c
+    else
18971c
+        sed -i -e 's/.*lvm pvscan.*/# No LVM pvscan for in dracut - lvmetad is not running yet/' ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules
18971c
+    fi
18971c
+
18971c
     # Gentoo ebuild for LVM2 prior to 2.02.63-r1 doesn't install above rules
18971c
     # files, but provides the one below:
18971c
     inst_rules 64-device-mapper.rules