Skip to content

Commit 4884980

Browse files
committed
Fix tee masking exit codes and missing return in nasbackup.sh
Address remaining Copilot review feedback on PR #12898: - Replace `2>&1 | tee -a` with `>> logFile 2>&1` in encrypt_backup, compress, and mount_operation to prevent tee from masking non-zero exit codes of qemu-img and mount commands - Add `return 1` after cleanup on virsh backup job failure to prevent continuing execution with broken state
1 parent 05076db commit 4884980

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

scripts/vm/hypervisor/kvm/nasbackup.sh

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ encrypt_backup() {
107107
if qemu-img convert -O qcow2 \
108108
--object "secret,id=sec0,file=$ENCRYPT_PASSFILE" \
109109
-o "encrypt.format=luks,encrypt.key-secret=sec0" \
110-
"$img" "$tmp_img" 2>&1 | tee -a "$logFile"; then
110+
"$img" "$tmp_img" >> "$logFile" 2>&1; then
111111
mv "$tmp_img" "$img"
112112
log -ne "Encrypted: $img"
113113
else
@@ -199,7 +199,8 @@ backup_running_vm() {
199199
break ;;
200200
Failed)
201201
echo "Virsh backup job failed"
202-
cleanup ;;
202+
cleanup
203+
return 1 ;;
203204
esac
204205
sleep 5
205206
done
@@ -212,7 +213,7 @@ backup_running_vm() {
212213
for img in "$dest"/*.qcow2; do
213214
[[ -f "$img" ]] || continue
214215
local tmp_img="${img}.tmp"
215-
if qemu-img convert -c -O qcow2 "$img" "$tmp_img" 2>&1 | tee -a "$logFile"; then
216+
if qemu-img convert -c -O qcow2 "$img" "$tmp_img" >> "$logFile" 2>&1; then
216217
mv "$tmp_img" "$img"
217218
else
218219
log -ne "Warning: compression failed for $img, keeping uncompressed"
@@ -313,7 +314,7 @@ mount_operation() {
313314
if [ ${NAS_TYPE} == "cifs" ]; then
314315
MOUNT_OPTS="${MOUNT_OPTS},nobrl"
315316
fi
316-
mount -t ${NAS_TYPE} ${NAS_ADDRESS} ${mount_point} $([[ ! -z "${MOUNT_OPTS}" ]] && echo -o ${MOUNT_OPTS}) 2>&1 | tee -a "$logFile"
317+
mount -t ${NAS_TYPE} ${NAS_ADDRESS} ${mount_point} $([[ ! -z "${MOUNT_OPTS}" ]] && echo -o ${MOUNT_OPTS}) >> "$logFile" 2>&1
317318
if [ $? -eq 0 ]; then
318319
log -ne "Successfully mounted ${NAS_TYPE} store"
319320
else

0 commit comments

Comments
 (0)