diff options
author | Platon Ryzhikov | 2019-01-04 10:41:53 +0300 |
---|---|---|
committer | Platon Ryzhikov | 2019-01-04 10:41:53 +0300 |
commit | 56530819b021eeb553fe3630f1533dfddf3670c8 (patch) | |
tree | 472ad583592551c84fdc62f156aa599f81ddbf7d /lvm2_hook | |
download | aur-56530819b021eeb553fe3630f1533dfddf3670c8.tar.gz |
Initial commit
Diffstat (limited to 'lvm2_hook')
-rw-r--r-- | lvm2_hook | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lvm2_hook b/lvm2_hook new file mode 100644 index 000000000000..3c28d67ffb97 --- /dev/null +++ b/lvm2_hook @@ -0,0 +1,25 @@ +#!/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: |