]> git.proxmox.com Git - mirror_zfs.git/blobdiff - scripts/zloop.sh
zloop.sh should call ZDB with pool name
[mirror_zfs.git] / scripts / zloop.sh
index 1f36f865b5946da610012332bc3cae0966973408..3d9baaf0e2b8acb60934bc20a19bed5594e50e16 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
 #
 # CDDL HEADER START
@@ -70,16 +70,26 @@ function or_die
        fi
 }
 
-# core file helpers
-origcorepattern="$(cat /proc/sys/kernel/core_pattern)"
-coreglob="$(grep -E -o '^([^|%[:space:]]*)' /proc/sys/kernel/core_pattern)*"
-
-if [[ $coreglob = "*" ]]; then
-        echo "Setting core file pattern..."
-        echo "core" > /proc/sys/kernel/core_pattern
-        coreglob="$(grep -E -o '^([^|%[:space:]]*)' \
-            /proc/sys/kernel/core_pattern)*"
-fi
+case $(uname) in
+FreeBSD)
+       coreglob="z*.core"
+       ;;
+Linux)
+       # core file helpers
+       origcorepattern="$(cat /proc/sys/kernel/core_pattern)"
+       coreglob="$(grep -E -o '^([^|%[:space:]]*)' /proc/sys/kernel/core_pattern)*"
+
+       if [[ $coreglob = "*" ]]; then
+               echo "Setting core file pattern..."
+               echo "core" > /proc/sys/kernel/core_pattern
+               coreglob="$(grep -E -o '^([^|%[:space:]]*)' \
+                   /proc/sys/kernel/core_pattern)*"
+       fi
+       ;;
+*)
+       exit 1
+       ;;
+esac
 
 function core_file
 {
@@ -278,8 +288,14 @@ done
 
 echo "zloop finished, $foundcrashes crashes found"
 
-#restore core pattern
-echo "$origcorepattern" > /proc/sys/kernel/core_pattern
+# restore core pattern.
+case $(uname) in
+Linux)
+       echo "$origcorepattern" > /proc/sys/kernel/core_pattern
+       ;;
+*)
+       ;;
+esac
 
 uptime >>ztest.out