Don't report still in progress zfs scrubs as errors
[zfs-ubuntu/.git] / zfs-restore
index fab2b6ebf45041bb601aac5a3055cde8d5f2a209..d5ca2e6caeb9e079d1562e217fa3199b617f09fc 100755 (executable)
@@ -16,6 +16,9 @@ dst_pool=$3
 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
@@ -80,12 +83,12 @@ 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