dst_fs=$4
dst_hostname=$5
+# return non-zero exit code if any command in the pipe fails
+set -o pipefail
+
if [[ -z "$SCRIPT_UNDER_TEST" ]]; then
exec >> $logdir/zfs-restore.log 2>&1
fi
# Now send the src filesystem
if [[ -n "$SCRIPT_UNDER_TEST" ]]; then
- echo "$zfs send -R $src_pool/$last_backup_marker | $ssh $dst_hostname $zfs recv -dv $dst_pool"
+ echo "$zfs send -Rc $src_pool/$last_backup_marker | $ssh $dst_hostname $zfs recv -dv $dst_pool"
else
if [[ $throttle_enable == 1 && -e $throttle ]]; then
- $zfs send -R "$src_pool/$last_backup_marker" | $throttle $throttle_opt | $ssh $dst_hostname $zfs recv -dv $dst_pool
+ $zfs send -Rc "$src_pool/$last_backup_marker" | $throttle $throttle_opt | $ssh $dst_hostname $zfs recv -dv $dst_pool
else
- $zfs send -R "$src_pool/$last_backup_marker" | $ssh $dst_hostname $zfs recv -dv $dst_pool
+ $zfs send -Rc "$src_pool/$last_backup_marker" | $ssh $dst_hostname $zfs recv -dv $dst_pool
fi
fi