- $rhost:$rvardir/snap-mount/. $localarea/.
-wait $rsumpid
-x ssh $rhost "$rsharedir/snap-drop"
-RSYNC_RSH=ssh rsync -p
- fixme use localprevious,rsums as seed if available
- $rhost:$rvardir/$rsumsfile $localarea,rsums
+ $rhost:$rvardir/snap-mount/$subdir $localarea/.
+date -u "+ $datefmt rsyncdone"
+
+exec 3>$localarea,lsums
+(cd $localarea && \
+ $summer . >&3) &
+xspawned lsum
+exec 3>&-
+
+xwait rsum
+exec 4<&-
+date -u "+ $datefmt sumsdone"
+x ssh $sshopts $rhost "$sshpfx $rsharedir/snap-drop"
+
+if [ "x${localprevious}" != x ] && test -f "$localprevious,rsums"; then
+ cp "$localprevious,rsums" "$localarea,rsums"
+fi
+x $rsync -p \
+ $rhost:$rvardir/$rsumsfile \
+ "$localarea,rsums"
+
+xwait $lsum
+date -u "+ $datefmt checking"
+
+set +e
+diff -u <(sed -e 's/^mountpoint/dir /' "$localarea,rsums") \
+ "$localarea,lsums" >"$localarea,sumsdiff"
+diffrc=$?
+set -e
+test $diffrc = 0 || test $diffrc = 1
+
+date -u "+ $datefmt checked $diffrc"
+rc=$diffrc