diff options
author | Andrew Cady <d@jerkface.net> | 2016-04-30 00:28:49 -0400 |
---|---|---|
committer | Andrew Cady <d@jerkface.net> | 2016-04-30 00:28:54 -0400 |
commit | e9960a73da65a93b943e1bacf03f607a6d821680 (patch) | |
tree | 204ae18218c2b0787a7086dc529274709a1753c3 /src/initrd/samizdat-eject.sh | |
parent | b5917e4b9b92d86b773ec4f4fd7f3a3a2d3790c1 (diff) |
samizdat-eject will wait to do the last step instead of giving up
Diffstat (limited to 'src/initrd/samizdat-eject.sh')
-rwxr-xr-x | src/initrd/samizdat-eject.sh | 18 |
1 files changed, 14 insertions, 4 deletions
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 | |||
84 | 84 | ||
85 | remove "$@" | 85 | remove "$@" |
86 | 86 | ||
87 | echo 'Waiting while boot medium is freed...' >&2 | ||
87 | wait | 88 | wait |
88 | 89 | ||
89 | if [ "$(btrfs_subdevice_count /)" = 1 ] && md_ready; then | 90 | notified= |
90 | mdadm_copy_eject /dev/md55 "$target".part && | 91 | while true; do |
91 | mv "$target".part "$target" | 92 | if [ "$(btrfs_subdevice_count /)" = 1 ] && md_ready; then |
92 | fi | 93 | if [ -z "$notified" ]; then |
94 | echo 'Boot medium is free. It may be ejected now.' >&2 | ||
95 | notified=y | ||
96 | fi | ||
97 | mdadm_copy_eject /dev/md55 "$target".part && | ||
98 | mv "$target".part "$target" | ||
99 | exit | ||
100 | fi | ||
101 | sleep 5 | ||
102 | done | ||