Blame SOURCES/0043-lvm-do-not-run-pvscan-for-lvmetad-update.patch

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