backup: improve exit code reporting

Return some meaningful error code. Unfortunately the more meaningful
option (retrieving process exit code) can lead to false errors
(described in comment), but at least report exit code of tar2qfile.
This commit is contained in:
Marek Marczykowski-Górecki 2015-11-02 03:10:22 +01:00
parent c704c35cd8
commit b38ea60f00
No known key found for this signature in database
GPG Key ID: 063938BA42CFA724

View File

@ -20,9 +20,14 @@ else
eval "set -- $args"
# Use named pipe to pass original stdin to tar2file
$@ > $tmpdir/backup-data < /dev/null &
retcode=$?
/usr/lib/qubes/tar2qfile $tmpdir/backup-data $paths
wait
# Restoration may be terminated earlier because of selected files. This
# will be seen as EPIPE to the retrieving process, which may cause retcode
# other than 0 in some cases - which would be incorrectly treated as backup
# restore error. So instead of that, use tar2qfile exit code (and have dom0
# detect if anything wrong with actual data)
retcode=$?
wait -n
rm $tmpdir/backup-data
rmdir $tmpdir
exit $retcode