Change zfsunlock for better busybox compatibility
It turns out that there are two versions of Busybox, at least on Ubuntu 18.04. If you have the busybox-static package installed, you get a busybox that supports `ps a` and `head`. If you only have busybox-initramfs, you don't. Either way, you have `awk`. This change should also make this compatible with GNU ps, if you somehow end up with that in the initramfs environment. Reviewed-by: Tom Caputi <tcaputi@datto.com> Reviewed-by: Andrey Prokopenko <job@terem.fr> Signed-off-by: Richard Laager <rlaager@wiktel.com> Closes #10307
This commit is contained in:
parent
fc551d7efb
commit
7fcf82451c
|
@ -25,7 +25,7 @@ while [ ! -e /run/zfs_unlock_complete ]; do
|
||||||
/sbin/zfs load-key "$zfs_fs_name" || true
|
/sbin/zfs load-key "$zfs_fs_name" || true
|
||||||
if [ "$(/sbin/zfs get -H -ovalue keystatus "$zfs_fs_name" 2> /dev/null)" = "available" ]; then
|
if [ "$(/sbin/zfs get -H -ovalue keystatus "$zfs_fs_name" 2> /dev/null)" = "available" ]; then
|
||||||
echo "Password for $zfs_fs_name accepted."
|
echo "Password for $zfs_fs_name accepted."
|
||||||
zfs_console_askpwd_pid=$(ps a -o pid= -o args | grep -v grep | grep "$zfs_console_askpwd_cmd" | cut -d ' ' -f3 | sort -n | head -n1)
|
zfs_console_askpwd_pid=$(ps | awk '!'"/awk/ && /$zfs_console_askpwd_cmd/ { print \$1; exit }")
|
||||||
if [ -n "$zfs_console_askpwd_pid" ]; then
|
if [ -n "$zfs_console_askpwd_pid" ]; then
|
||||||
kill "$zfs_console_askpwd_pid"
|
kill "$zfs_console_askpwd_pid"
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in New Issue