26 lines
585 B
Bash
26 lines
585 B
Bash
#!/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:
|