diff options
| -rwxr-xr-x | zb-cleanup | 4 | ||||
| -rwxr-xr-x | zb-pull | 2 |
2 files changed, 4 insertions, 2 deletions
@@ -40,7 +40,7 @@ done |sort -n | while read l ; do if [ "$curtime" -lt "$max_age" ] ; then #too old - zfs destroy "$snapname" + zfs destroy "$snapname" || echo "$0: zfs destroy $snapname failed" >&2 continue fi @@ -52,7 +52,7 @@ done |sort -n | while read l ; do #if it's too dense, delete the closer snapshot if [ $(( ($density*($curtime-$lasttime))/($timenow-$lasttime) )) -lt 100 ] then - zfs destroy "$snapname" + zfs destroy "$snapname" || echo "$0: zfs destroy $snapname failed" >&2 else lasttime="$curtime" fi @@ -63,6 +63,8 @@ else ret=$? fi +[ "$ret" != 0 ] && echo "pulling to ${local_zfs} failed" >&2 + #in some cases and on some setups (Sun_SSH) when `zfs recv` fails, ssh ignores #the SIGPIPE and the connection hangs there forever, somehow. This fixes the #issue by killing all children that were possibly spawned by this shell. |
