#!/usr/bin/ash run_earlyhook() { mkdir /run/lvm 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) } # vim: set ft=sh ts=4 sw=4 et: