From 49281516371f3e9ab944dc0d2cfa36d5eb2fd5db Mon Sep 17 00:00:00 2001 From: Davi Torres <90287660+daviftorres@users.noreply.github.com> Date: Mon, 15 Jun 2026 15:54:05 -0400 Subject: [PATCH 1/9] Suppress errors in disk usage calculation Handle potential errors when calculating disk usage. --- scripts/vm/hypervisor/kvm/nasbackup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/vm/hypervisor/kvm/nasbackup.sh b/scripts/vm/hypervisor/kvm/nasbackup.sh index 441312f35e86..86532b138cf2 100755 --- a/scripts/vm/hypervisor/kvm/nasbackup.sh +++ b/scripts/vm/hypervisor/kvm/nasbackup.sh @@ -196,7 +196,7 @@ backup_running_vm() { # Print statistics virsh -c qemu:///system domjobinfo $VM --completed - du -sb $dest | cut -f1 + du -sb $dest 2>/dev/null | cut -f1 || true umount $mount_point rmdir $mount_point From 6e832f1a24d9da2d81916d5c559a1649b541e9cc Mon Sep 17 00:00:00 2001 From: Davi Torres <90287660+daviftorres@users.noreply.github.com> Date: Wed, 17 Jun 2026 09:55:40 -0400 Subject: [PATCH 2/9] Update nasbackup.sh --- scripts/vm/hypervisor/kvm/nasbackup.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/vm/hypervisor/kvm/nasbackup.sh b/scripts/vm/hypervisor/kvm/nasbackup.sh index 86532b138cf2..1b9244ace04f 100755 --- a/scripts/vm/hypervisor/kvm/nasbackup.sh +++ b/scripts/vm/hypervisor/kvm/nasbackup.sh @@ -196,10 +196,10 @@ backup_running_vm() { # Print statistics virsh -c qemu:///system domjobinfo $VM --completed - du -sb $dest 2>/dev/null | cut -f1 || true - - umount $mount_point - rmdir $mount_point + backup_size=$(du -sb "$dest" 2>/dev/null | cut -f1) || true + timeout 60 umount "$mount_point" 2>/dev/null || true + rmdir "$mount_point" 2>/dev/null || true + echo "$backup_size" } backup_stopped_vm() { From 1c0287dc970aeadfe58a9f67034d3a57cbad8524 Mon Sep 17 00:00:00 2001 From: Davi Torres <90287660+daviftorres@users.noreply.github.com> Date: Wed, 17 Jun 2026 09:56:20 -0400 Subject: [PATCH 3/9] Implement timeout for unmounting in nasbackup.sh Add timeout for unmounting backup mount point and cleanup. --- scripts/vm/hypervisor/kvm/nasbackup.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/vm/hypervisor/kvm/nasbackup.sh b/scripts/vm/hypervisor/kvm/nasbackup.sh index 1b9244ace04f..0dab7307ced2 100755 --- a/scripts/vm/hypervisor/kvm/nasbackup.sh +++ b/scripts/vm/hypervisor/kvm/nasbackup.sh @@ -197,8 +197,10 @@ backup_running_vm() { # Print statistics virsh -c qemu:///system domjobinfo $VM --completed backup_size=$(du -sb "$dest" 2>/dev/null | cut -f1) || true + timeout 60 umount "$mount_point" 2>/dev/null || true rmdir "$mount_point" 2>/dev/null || true + echo "$backup_size" } From edc80b1ce6b4d47bd4c13680e57348d3fbfd3f95 Mon Sep 17 00:00:00 2001 From: Davi Torres <90287660+daviftorres@users.noreply.github.com> Date: Wed, 17 Jun 2026 14:58:41 -0400 Subject: [PATCH 4/9] Change echo to echo -n for backup size output --- scripts/vm/hypervisor/kvm/nasbackup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/vm/hypervisor/kvm/nasbackup.sh b/scripts/vm/hypervisor/kvm/nasbackup.sh index 0dab7307ced2..edff9a2c35e5 100755 --- a/scripts/vm/hypervisor/kvm/nasbackup.sh +++ b/scripts/vm/hypervisor/kvm/nasbackup.sh @@ -201,7 +201,7 @@ backup_running_vm() { timeout 60 umount "$mount_point" 2>/dev/null || true rmdir "$mount_point" 2>/dev/null || true - echo "$backup_size" + echo -n "$backup_size" } backup_stopped_vm() { From 3450fa88c0462cc8268f53eec45faf463ccbdbe4 Mon Sep 17 00:00:00 2001 From: Davi Torres <90287660+daviftorres@users.noreply.github.com> Date: Wed, 24 Jun 2026 16:53:43 -0400 Subject: [PATCH 5/9] Add timeout variable and log output redirection --- scripts/vm/hypervisor/kvm/nasbackup.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/vm/hypervisor/kvm/nasbackup.sh b/scripts/vm/hypervisor/kvm/nasbackup.sh index edff9a2c35e5..b055acf46b8c 100755 --- a/scripts/vm/hypervisor/kvm/nasbackup.sh +++ b/scripts/vm/hypervisor/kvm/nasbackup.sh @@ -34,7 +34,7 @@ BACKUP_DIR="" DISK_PATHS="" QUIESCE="" logFile="/var/log/cloudstack/agent/agent.log" - +TIMEOUT=60 EXIT_CLEANUP_FAILED=20 log() { @@ -196,10 +196,10 @@ backup_running_vm() { # Print statistics virsh -c qemu:///system domjobinfo $VM --completed - backup_size=$(du -sb "$dest" 2>/dev/null | cut -f1) || true + backup_size=$(du -sb "$dest" 2>$logFile | cut -f1) || backup_size=0 - timeout 60 umount "$mount_point" 2>/dev/null || true - rmdir "$mount_point" 2>/dev/null || true + timeout $TIMEOUT umount "$mount_point" 2>$logFile || true + rmdir "$mount_point" 2>$logFile || true echo -n "$backup_size" } From 291a8b82a7fd90170af6e50f7119b7b8cd62f23c Mon Sep 17 00:00:00 2001 From: Davi Torres <90287660+daviftorres@users.noreply.github.com> Date: Wed, 24 Jun 2026 16:55:20 -0400 Subject: [PATCH 6/9] Update nasbackup.sh --- scripts/vm/hypervisor/kvm/nasbackup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/vm/hypervisor/kvm/nasbackup.sh b/scripts/vm/hypervisor/kvm/nasbackup.sh index b055acf46b8c..cc86ecdeb90b 100755 --- a/scripts/vm/hypervisor/kvm/nasbackup.sh +++ b/scripts/vm/hypervisor/kvm/nasbackup.sh @@ -201,7 +201,7 @@ backup_running_vm() { timeout $TIMEOUT umount "$mount_point" 2>$logFile || true rmdir "$mount_point" 2>$logFile || true - echo -n "$backup_size" + echo "$backup_size" } backup_stopped_vm() { From e1aea1b8bf6b3d540d4851fe93091675ce363dd6 Mon Sep 17 00:00:00 2001 From: Davi Torres <90287660+daviftorres@users.noreply.github.com> Date: Wed, 24 Jun 2026 22:09:47 -0400 Subject: [PATCH 7/9] Fix output redirection in nasbackup.sh --- scripts/vm/hypervisor/kvm/nasbackup.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/vm/hypervisor/kvm/nasbackup.sh b/scripts/vm/hypervisor/kvm/nasbackup.sh index cc86ecdeb90b..1eb0d931c744 100755 --- a/scripts/vm/hypervisor/kvm/nasbackup.sh +++ b/scripts/vm/hypervisor/kvm/nasbackup.sh @@ -196,10 +196,10 @@ backup_running_vm() { # Print statistics virsh -c qemu:///system domjobinfo $VM --completed - backup_size=$(du -sb "$dest" 2>$logFile | cut -f1) || backup_size=0 + backup_size=$(du -sb "$dest" 2>>$logFile | cut -f1) || backup_size=0 - timeout $TIMEOUT umount "$mount_point" 2>$logFile || true - rmdir "$mount_point" 2>$logFile || true + timeout $TIMEOUT umount "$mount_point" 2>>$logFile || true + rmdir "$mount_point" 2>>$logFile || true echo "$backup_size" } From 68cb0e919b6a271a7c942d05c26241c1251af030 Mon Sep 17 00:00:00 2001 From: Davi Torres <90287660+daviftorres@users.noreply.github.com> Date: Thu, 25 Jun 2026 09:19:19 -0400 Subject: [PATCH 8/9] Apply suggestions from code review Co-authored-by: Abhisar Sinha <63767682+abh1sar@users.noreply.github.com> --- scripts/vm/hypervisor/kvm/nasbackup.sh | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/scripts/vm/hypervisor/kvm/nasbackup.sh b/scripts/vm/hypervisor/kvm/nasbackup.sh index 1eb0d931c744..5f91c6911617 100755 --- a/scripts/vm/hypervisor/kvm/nasbackup.sh +++ b/scripts/vm/hypervisor/kvm/nasbackup.sh @@ -34,7 +34,7 @@ BACKUP_DIR="" DISK_PATHS="" QUIESCE="" logFile="/var/log/cloudstack/agent/agent.log" -TIMEOUT=60 +UNMOUNT_TIMEOUT=60 EXIT_CLEANUP_FAILED=20 log() { @@ -196,10 +196,11 @@ backup_running_vm() { # Print statistics virsh -c qemu:///system domjobinfo $VM --completed - backup_size=$(du -sb "$dest" 2>>$logFile | cut -f1) || backup_size=0 + backup_size=$(du -sb "$dest" 2>>$logFile | cut -f1) || { log -ne "WARNING: du failed for $dest, reporting size + as 0"; backup_size=0; } - timeout $TIMEOUT umount "$mount_point" 2>>$logFile || true - rmdir "$mount_point" 2>>$logFile || true + timeout $UNMOUNT_TIMEOUT umount "$mount_point" 2>>$logFile || { log "WARNING: umount of $mount_point failed or timed out"; true; } + rmdir "$mount_point" 2>>$logFile || { log "WARNING: rmdir of $mount_point failed"; true; } echo "$backup_size" } From eb53f2bb3e37d55d35a2d3c7f1b446b1ed4c476b Mon Sep 17 00:00:00 2001 From: Abhisar Sinha <63767682+abh1sar@users.noreply.github.com> Date: Fri, 26 Jun 2026 07:19:35 +0530 Subject: [PATCH 9/9] fix multiline logging Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- scripts/vm/hypervisor/kvm/nasbackup.sh | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/scripts/vm/hypervisor/kvm/nasbackup.sh b/scripts/vm/hypervisor/kvm/nasbackup.sh index 5f91c6911617..e49b142624de 100755 --- a/scripts/vm/hypervisor/kvm/nasbackup.sh +++ b/scripts/vm/hypervisor/kvm/nasbackup.sh @@ -196,11 +196,10 @@ backup_running_vm() { # Print statistics virsh -c qemu:///system domjobinfo $VM --completed - backup_size=$(du -sb "$dest" 2>>$logFile | cut -f1) || { log -ne "WARNING: du failed for $dest, reporting size - as 0"; backup_size=0; } + backup_size=$(du -sb "$dest" 2>>"$logFile" | cut -f1) || { log -ne "WARNING: du failed for $dest, reporting size as 0"; backup_size=0; } - timeout $UNMOUNT_TIMEOUT umount "$mount_point" 2>>$logFile || { log "WARNING: umount of $mount_point failed or timed out"; true; } - rmdir "$mount_point" 2>>$logFile || { log "WARNING: rmdir of $mount_point failed"; true; } + timeout "$UNMOUNT_TIMEOUT" umount "$mount_point" 2>>"$logFile" || { log "WARNING: umount of $mount_point failed or timed out"; true; } + rmdir "$mount_point" 2>>"$logFile" || { log "WARNING: rmdir of $mount_point failed"; true; } echo "$backup_size" }