Only export the pool after scrubbing it if it is still imported
authorAlan J. Pippin <alan@pippins.net>
Sun, 3 Dec 2017 05:43:41 +0000 (22:43 -0700)
committerAlan J. Pippin <ajp@pippins.net>
Sun, 3 Dec 2017 05:43:41 +0000 (22:43 -0700)
Change-Id: I43210627fd78e3bfc62c8d6cf841b85c35673bf0

zfs-scrub

index fbeadb7156aa814f2b01bbfae97dc404bcecd093..169579660eeb5e78e643b8f7f33252c4cee1448c 100755 (executable)
--- a/zfs-scrub
+++ b/zfs-scrub
@@ -93,10 +93,14 @@ do
     # Don't export the pool if there is a currently running zfs-replicate operation
     ps -ef | grep -q "zfs-replicate" | grep -v grep
     if [ $? != 0 ]; then
     # Don't export the pool if there is a currently running zfs-replicate operation
     ps -ef | grep -q "zfs-replicate" | grep -v grep
     if [ $? != 0 ]; then
-      zpool export $i
-      if [ $? != 0 ]; then
-        echo "-E- unable to export the local pool $i"
-        zpool status $i | $mailx -s "zpool scrub on $hostname unable to export the local pool $i" "$mailto"
+      # Only export the pool if it is still imported
+      zpool list -H "$i" >/dev/null 2>&1
+      if [ $? == 0 ]; then
+        zpool export $i
+        if [ $? != 0 ]; then
+          echo "-E- unable to export the local pool $i"
+          zpool status $i | $mailx -s "zpool scrub on $hostname unable to export the local pool $i" "$mailto"
+        fi
       fi
     fi
   fi
       fi
     fi
   fi