From 0a65cc9b8c9d6cebab17dcaf6c9e646ef0dc778b Mon Sep 17 00:00:00 2001 From: travankor Date: Sun, 29 Aug 2021 19:31:22 -0700 Subject: [PATCH] mkinitcpio: update encrypt and lvm2 hooks. Sync encrypt hook with upstream. Remove workaround for lvm2 hook. --- srcpkgs/mkinitcpio/files/encrypt_hook | 15 +++++++++++++-- srcpkgs/mkinitcpio/files/lvm2_hook | 13 ------------- srcpkgs/mkinitcpio/files/lvm2_install | 1 + srcpkgs/mkinitcpio/template | 2 +- 4 files changed, 15 insertions(+), 16 deletions(-) diff --git a/srcpkgs/mkinitcpio/files/encrypt_hook b/srcpkgs/mkinitcpio/files/encrypt_hook index 882d5fb4423d60..6bc1eea35920c9 100644 --- a/srcpkgs/mkinitcpio/files/encrypt_hook +++ b/srcpkgs/mkinitcpio/files/encrypt_hook @@ -55,16 +55,27 @@ EOF echo "Use 'cryptdevice=${root}:root root=/dev/mapper/root' instead." } - for cryptopt in ${cryptoptions//,/ }; do + set -f + OLDIFS="$IFS"; IFS=, + for cryptopt in ${cryptoptions}; do case ${cryptopt} in - allow-discards) + allow-discards|discard) cryptargs="${cryptargs} --allow-discards" ;; + no-read-workqueue|perf-no_read_workqueue) + cryptargs="${cryptargs} --perf-no_read_workqueue" + ;; + no-write-workqueue|perf-no_read_workqueue) + cryptargs="${cryptargs} --perf-no_write_workqueue" + ;; *) echo "Encryption option '${cryptopt}' not known, ignoring." >&2 ;; esac done + set +f + IFS="$OLDIFS" + unset OLDIFS if resolved=$(resolve_device "${cryptdev}" ${rootdelay}); then if cryptsetup isLuks ${resolved} >/dev/null 2>&1; then diff --git a/srcpkgs/mkinitcpio/files/lvm2_hook b/srcpkgs/mkinitcpio/files/lvm2_hook index 3c28d67ffb97e2..65de7bd2fdd76e 100644 --- a/srcpkgs/mkinitcpio/files/lvm2_hook +++ b/srcpkgs/mkinitcpio/files/lvm2_hook @@ -5,19 +5,6 @@ run_earlyhook() { lvmetad } -# We are suffering a race condition in non-systemd initramfs: If lvmetad is -# killed before pvscan processes finish we have stale processes and -# uninitialized physical volumes. So wait for pvscan processes to finish. -# Break after 10 seconds (50*0.2s) to avaid infinite loop. -run_latehook() { - local i=50 - - while pgrep -f pvscan >/dev/null 2>/dev/null && [ $i -gt 0 ]; do - sleep 0.2 - i=$((i - 1)) - done -} - run_cleanuphook() { kill $(cat /run/lvmetad.pid) } diff --git a/srcpkgs/mkinitcpio/files/lvm2_install b/srcpkgs/mkinitcpio/files/lvm2_install index d7a63332a403f6..0d109f9acc4cdb 100644 --- a/srcpkgs/mkinitcpio/files/lvm2_install +++ b/srcpkgs/mkinitcpio/files/lvm2_install @@ -30,6 +30,7 @@ build() { add_file "/usr/lib/initcpio/udev/11-dm-initramfs.rules" "/usr/lib/udev/rules.d/11-dm-initramfs.rules" add_file "/usr/lib/initcpio/udev/69-dm-lvm-metad.rules" "/usr/lib/udev/rules.d/69-dm-lvm-metad.rules" add_file "/etc/lvm/lvm.conf" + sed -i '/^\smonitoring =/s/1/0/' "${BUILDROOT}/etc/lvm/lvm.conf" add_runscript } diff --git a/srcpkgs/mkinitcpio/template b/srcpkgs/mkinitcpio/template index ee5ff2025d5a9f..da7bd7e68c8b7e 100644 --- a/srcpkgs/mkinitcpio/template +++ b/srcpkgs/mkinitcpio/template @@ -1,7 +1,7 @@ # Template file for 'mkinitcpio' pkgname=mkinitcpio version=30 -revision=2 +revision=3 build_style=gnu-makefile hostmakedepends="asciidoc" depends="busybox-static bsdtar bash"