diff --git a/qubes-rpc/qfile-agent.c b/qubes-rpc/qfile-agent.c index e759ecfc..c4d789e5 100644 --- a/qubes-rpc/qfile-agent.c +++ b/qubes-rpc/qfile-agent.c @@ -21,16 +21,17 @@ enum { void do_notify_progress(long long cur_total, int flag) { - const char *du_size_env = getenv("FILECOPY_TOTAL_SIZE"); + const char *total_bytes_env = getenv("FILECOPY_TOTAL_BYTES"); const char *progress_type_env = getenv("PROGRESS_TYPE"); const char *saved_stdout_env = getenv("SAVED_FD_1"); int ignore; if (!progress_type_env) return; - if (!strcmp(progress_type_env, "console") && du_size_env) { + if (!strcmp(progress_type_env, "console") && total_bytes_env) { char msg[256]; snprintf(msg, sizeof(msg), "sent %lld/%lld KB\r", - (cur_total + 1023) / 1024, strtoull(du_size_env, NULL, 10)); + (cur_total + 1023) / 1024, + (strtoull(total_bytes_env, NULL, 10) + 1023) / 1024); ignore = write(2, msg, strlen(msg)); if (flag == PROGRESS_FLAG_DONE) ignore = write(2, "\n", 1); diff --git a/qubes-rpc/qvm-copy b/qubes-rpc/qvm-copy index 57987d12..20a0992e 100755 --- a/qubes-rpc/qvm-copy +++ b/qubes-rpc/qvm-copy @@ -21,7 +21,7 @@ set -e -o pipefail -unset PROGRESS_TYPE OPERATION_TYPE TARGET_TYPE MIN_ARGS FILECOPY_TOTAL_SIZE service scriptdir +unset PROGRESS_TYPE OPERATION_TYPE TARGET_TYPE MIN_ARGS FILECOPY_TOTAL_BYTES service scriptdir # Determine the operation to be performed case ${0##*/} in @@ -82,7 +82,7 @@ else VM="@default" fi -if FILECOPY_TOTAL_SIZE=$("$scriptdir/qubes/qubes-fs-tree-check" \ +if FILECOPY_TOTAL_BYTES=$("$scriptdir/qubes/qubes-fs-tree-check" \ --allow-symlinks --allow-directories --machine -- "$@"); then service=qubes.Filecopy else @@ -90,7 +90,7 @@ else if [[ "$status" -ne 2 ]]; then exit "$status"; fi service=qubes.Filecopy+allow-all-names fi -if [[ "$PROGRESS_TYPE" = 'console' ]]; then export FILECOPY_TOTAL_SIZE; fi +if [[ "$PROGRESS_TYPE" = 'console' ]]; then export FILECOPY_TOTAL_BYTES; fi "$scriptdir/qubes/qrexec-client-vm" --filter-escape-chars-stderr -- "$VM" \ "$service" "$scriptdir/qubes/qfile-agent" "$@"