Bug#781560: lvm2 errors on every boot: initramfs scripts expect dmeventd (jessie)

Chris Bainbridge chris.bainbridge at gmail.com
Tue Mar 31 00:56:18 UTC 2015


Package: lvm2
Version: 2.02.111-2.1
Severity: normal
Tags: patch

lvm2 init scripts call vgchange without --sysinit
resulting in errors on every boot:

        "/sbin/dmeventd stat failed no such file or directory"
        "/sbin/dmeventd stat failed no such file or directory"
        "... event registration failed: no such process"
        "...snapshot segment monitoring function failed"

because dmeventd is not in the initramfs

fix: replace --ignorelockingfailure with --sysinit

in

/usr/share/initramfs-tools/scripts/local-block/lvm2
/usr/share/initramfs-tools/scripts/local-top/lvm2


diff -ur scripts.orig/local-block/lvm2 scripts/local-block/lvm2
--- scripts.orig/local-block/lvm2	2015-01-17 22:35:47.000000000 +0000
+++ scripts/local-block/lvm2	2015-03-31 00:36:16.828462329 +0100
@@ -30,7 +30,7 @@
 eval $(dmsetup splitname --nameprefixes --noheadings --rows "$dev")
 
 if [ "$DM_VG_NAME" ] && [ "$DM_LV_NAME" ]; then
-	lvm lvchange -aly --ignorelockingfailure "$DM_VG_NAME/$DM_LV_NAME"
+	lvm lvchange -aly --sysinit "$DM_VG_NAME/$DM_LV_NAME"
 	rc=$?
 	if [ $rc = 5 ]; then
 		echo "Unable to find LVM volume $DM_VG_NAME/$DM_LV_NAME"
diff -ur scripts.orig/local-top/lvm2 scripts/local-top/lvm2
--- scripts.orig/local-top/lvm2	2015-01-17 17:13:22.000000000 +0000
+++ scripts/local-top/lvm2	2015-03-31 01:11:11.852175626 +0100
@@ -27,12 +27,12 @@
 	# Take care of lilo boot arg, risky activating of all vg
 	case "$dev" in
 	fe[0-9]*)
-		lvm vgchange -aly --ignorelockingfailure
+		lvm vgchange -aly --sysinit
 		exit 0
 		;;
 	# FIXME: check major
 	/dev/root)
-		lvm vgchange -aly --ignorelockingfailure
+		lvm vgchange -aly --sysinit
 		exit 0
 		;;
 	esac
@@ -46,7 +46,7 @@
 	eval $(dmsetup splitname --nameprefixes --noheadings --rows "$dev")
 
 	if [ "$DM_VG_NAME" ] && [ "$DM_LV_NAME" ]; then
-		lvm lvchange -aly --ignorelockingfailure "$DM_VG_NAME/$DM_LV_NAME"
+		lvm lvchange -aly --sysinit "$DM_VG_NAME/$DM_LV_NAME"
 		rc=$?
 		if [ $rc = 5 ]; then
 			echo "Unable to find LVM volume $DM_VG_NAME/$DM_LV_NAME"



More information about the pkg-lvm-maintainers mailing list