X-Git-Url: https://git.tld-linux.org/?a=blobdiff_plain;f=rc.d%2Frc.shutdown;fp=rc.d%2Frc.shutdown;h=8c86fa4cf64223a7d814aed6b41b3f1730ea92e4;hb=4d0d99b9003b973c89c2264cc0652d267d3404d4;hp=db226b5001768b4af2e9f91e5786bb2188eccc98;hpb=db7b01aaedc9a70a5c7f349eb438fd9387d2f5ad;p=rc-scripts.git diff --git a/rc.d/rc.shutdown b/rc.d/rc.shutdown index db226b5..8c86fa4 100755 --- a/rc.d/rc.shutdown +++ b/rc.d/rc.shutdown @@ -80,8 +80,20 @@ remaining=$(awk -v ig="^($UMOUNT_IGNORE)$" 'BEGIN { gsub(/[\t ]+/, "|", ig); } \ && $1 !~ /^(none|\/dev\/root)$/ \ && $2 !~ ig {print $2}' /proc/mounts) while [ -n "$remaining" -a "$retry" -gt 0 ]; do - show "Unmounting file systems"; busy - ERRORS=$(umount -a $force -t noproc,nosysfs 2>&1); rc=$? + for mnt in $remaining; do + run_cmd "$(nls 'Umounting file system: %s' $mnt)" umount $force -R $mnt + + # we might had unmounted /usr, recheck $TPUT availability + # but well. we need tput only for show() and busy() (ok() and fail() messages are already cached) + # TODO: look ahead the messages? + if is_yes "$TPUT"; then + TPUT= + rc_gettext_init + fi + done + + show "Unmounting remainging file systems"; busy + ERRORS=$(umount -a $force -t noproc,nosysfs,notmpfs,nodevpts,nodevtmpfs 2>&1); rc=$ # we might had unmounted /usr, recheck $TPUT availability # but well. we need tput only for show() and busy() (ok() and fail() messages are already cached) @@ -95,7 +107,10 @@ while [ -n "$remaining" -a "$retry" -gt 0 ]; do ok else fail - [ -n "$ERRORS" ] && echo "$ERRORS" + if [ -n "$ERRORS" ]; then + nls "Umount errors:" + echo "$ERRORS" + fi fi sleep 2