From e9960a73da65a93b943e1bacf03f607a6d821680 Mon Sep 17 00:00:00 2001 From: Andrew Cady Date: Sat, 30 Apr 2016 00:28:49 -0400 Subject: samizdat-eject will wait to do the last step instead of giving up --- src/initrd/samizdat-eject.sh | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'src/initrd/samizdat-eject.sh') diff --git a/src/initrd/samizdat-eject.sh b/src/initrd/samizdat-eject.sh index d95a49d..a950ec5 100755 --- a/src/initrd/samizdat-eject.sh +++ b/src/initrd/samizdat-eject.sh @@ -84,9 +84,19 @@ fi remove "$@" +echo 'Waiting while boot medium is freed...' >&2 wait -if [ "$(btrfs_subdevice_count /)" = 1 ] && md_ready; then - mdadm_copy_eject /dev/md55 "$target".part && - mv "$target".part "$target" -fi +notified= +while true; do + if [ "$(btrfs_subdevice_count /)" = 1 ] && md_ready; then + if [ -z "$notified" ]; then + echo 'Boot medium is free. It may be ejected now.' >&2 + notified=y + fi + mdadm_copy_eject /dev/md55 "$target".part && + mv "$target".part "$target" + exit + fi + sleep 5 +done -- cgit v1.2.3