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
src_pool_guid=`zpool get guid $src_pool 2>&1 | grep $src_pool | awk '{ print $3 }'`
zpool get guid $src_pool > /dev/null 2>&1
if [ $? != 0 ]; then
- fatal_and_exit "-E- Unable to extract the guid for the src pool: $src_pool" $mailto
+ fatal_and_exit "-E- Unable to extract the guid for the src pool on $hostname: $src_pool" $mailto
fi
# Setup our backup marker names
# 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