$LISTFILE is created even no domain is running, and the empty $LISTFILE could cause improper service status. stoped ,with saved guests Which is not right, as there is no domain was saved. --- tools/libvirt-guests.init.sh | 42 +++++++++++++++++++++++------------------- 1 files changed, 23 insertions(+), 19 deletions(-) diff --git a/tools/libvirt-guests.init.sh b/tools/libvirt-guests.init.sh index aafb4d4..c0d8a7e 100644 --- a/tools/libvirt-guests.init.sh +++ b/tools/libvirt-guests.init.sh @@ -461,26 +461,30 @@ stop() { done set +f - while read uri list; do - if "$suspending"; then - eval_gettext "Suspending guests on \$uri URI..."; echo - else - eval_gettext "Shutting down guests on \$uri URI..."; echo - fi + if [ -s $LISTFILE ]; then + while read uri list; do + if "$suspending"; then + eval_gettext "Suspending guests on \$uri URI..."; echo + else + eval_gettext "Shutting down guests on \$uri URI..."; echo + fi - if [ "$PARALLEL_SHUTDOWN" -gt 1 ] && - ! "$suspending"; then - shutdown_guests_parallel "$uri" "$list" - else - for guest in $list; do - if "$suspending"; then - suspend_guest "$uri" "$guest" - else - shutdown_guest "$uri" "$guest" - fi - done - fi - done <"$LISTFILE" + if [ "$PARALLEL_SHUTDOWN" -gt 1 ] && + ! "$suspending"; then + shutdown_guests_parallel "$uri" "$list" + else + for guest in $list; do + if "$suspending"; then + suspend_guest "$uri" "$guest" + else + shutdown_guest "$uri" "$guest" + fi + done + fi + done <"$LISTFILE" + else + rm -f $LISTFILE + fi rm -f "$VAR_SUBSYS_LIBVIRT_GUESTS" } -- 1.7.7.3 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list