Fixed syntax error in latest fix
[zfs-ubuntu/.git] / zfs-replicate-all
index afd30b89c2f280ddcb6ec796d9f6dda6ca097219..456e835ebe4072f44c1df740523bc8165cee1a1f 100755 (executable)
@@ -50,11 +50,15 @@ cleanup_and_exit() {
 }
 trap cleanup_and_exit INT
 
-fatal_and_exit() {
+fatal() {
   # echo message to terminal
   echo -e 2>&1 "$1"
   # send email notification
   echo -e "$1" | $mailx -s "zfs-replicate-all on $hostname failed" "$mailto"
+}
+
+fatal_and_exit() {
+  fatal $*
   exit 1
 }
 
@@ -130,9 +134,14 @@ done
 
 # Export the local pool if told to do so
 if [[ $import_export_backup_pool == 1 ]]; then
-  zpool export $backup_pool
+  # Don't export the pool if there is a currently running zfs-scrub operation
+  ps -ef | grep "zfs-scrub" | grep -q "${backup_pool}" | grep -v grep
   if [ $? != 0 ]; then
-    fatal_and_exit "-E- unable to export the local backup pool $backup_pool on $hostname" "$mailto"
+    zpool export $backup_pool
+    if [ $? != 0 ]; then
+      lsof /$backup_pool/*
+      fatal "-E- unable to export the local backup pool $backup_pool on $hostname" "$mailto"
+    fi
   fi
 fi