monitor-dd-progress fix

stdout if line buffered, thus even it's redirect to stderr, it will not show
on console automaticly. Because monitor_dd_progress is only for rawdump
currently, so I think we can just use "echo" instead of "echo -n".

Another problem is sometimes CURRENT_SIZE does not get value when it's used
in $(($CURRENT_SIZE / 1048576)), fix this issue as well.

Signed-off-by: Dave Young <dyoung@redhat.com>
Acked-by: WANG Chao <chaowang@redhat.com>
This commit is contained in:
Dave Young 2013-06-25 16:15:45 +08:00 committed by Baoquan He
parent 315848036b
commit e779fc632b
1 changed files with 4 additions and 2 deletions

View File

@ -19,8 +19,10 @@ do
kill -s USR1 $DD_PID
CURRENT_SIZE=`tail -n 1 /tmp/dd_progress_file | sed "s/[^0-9].*//g"`
CURRENT_MB=$(($CURRENT_SIZE / 1048576))
echo -n -e "Copied $CURRENT_MB MB / $SRC_FILE_MB MB\r"
[ -n "$CURRENT_SIZE" ] && {
CURRENT_MB=$(($CURRENT_SIZE / 1048576))
echo -e "Copied $CURRENT_MB MB / $SRC_FILE_MB MB\r"
}
done
rm -f /tmp/dd_progress_file