diff --git a/srcpkgs/dracut/patches/lvm-fix-activationskip-check.patch b/srcpkgs/dracut/patches/lvm-fix-activationskip-check.patch new file mode 100644 index 00000000000..d61079a7934 --- /dev/null +++ b/srcpkgs/dracut/patches/lvm-fix-activationskip-check.patch @@ -0,0 +1,34 @@ +[PATCH] modules: lvm: fix activationskip check + +Fix boot breakage due to the activationskip check introduced in +cfa365a32d47 ("lvm: Don't activate LVs with activationskip set"). + +In 'man 8 lvs', it is stated that LVs with activationskip set, will have +a "k" flag in their lvs attribute listing. + +The current implementation excludes LVs which do not have the "k" +flag set. This leads to the activation of LVs with the activationskip +set and the exclusion of LVs with no activationskip set: the check's +logic is inverted. + +Fix this issue by skipping those LVs that have the "k" flag in their +attributes. + +Signed-off-by: Nicolai Stange +--- + modules.d/90lvm/lvm_scan.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/modules.d/90lvm/lvm_scan.sh b/modules.d/90lvm/lvm_scan.sh +index ce46e14..ba7d738 100755 +--- modules.d/90lvm/lvm_scan.sh ++++ modules.d/90lvm/lvm_scan.sh + -106,7 +106,7 if [ -n "$LVS" ] ; then + info "Scanning devices $lvmdevs for LVM logical volumes $LVS" + lvm lvscan --ignorelockingfailure 2>&1 | vinfo + for LV in $LVS; do +- if [ "x$(lvm lvs --noheadings --select "lv_attr =~ k" $LV | wc -l)" = "x0" ]; then ++ if [ "x$(lvm lvs --noheadings --select "lv_attr =~ k" $LV | wc -l)" != "x0" ]; then + info "Skipping activation of '$LV' because activationskip is set." + continue + fi diff --git a/srcpkgs/dracut/template b/srcpkgs/dracut/template index 05f833c403d..41aa67979d7 100644 --- a/srcpkgs/dracut/template +++ b/srcpkgs/dracut/template @@ -1,7 +1,7 @@ # Template file for 'dracut' pkgname=dracut version=043 -revision=6 +revision=7 build_style=configure configure_args="--prefix=/usr --sysconfdir=/etc" hostmakedepends="libxslt docbook-xsl asciidoc"