summaryrefslogtreecommitdiffstats
path: root/usr/local/sbin/cleargmirror.sh
diff options
context:
space:
mode:
Diffstat (limited to 'usr/local/sbin/cleargmirror.sh')
-rwxr-xr-xusr/local/sbin/cleargmirror.sh26
1 files changed, 26 insertions, 0 deletions
diff --git a/usr/local/sbin/cleargmirror.sh b/usr/local/sbin/cleargmirror.sh
new file mode 100755
index 0000000..a00cc93
--- /dev/null
+++ b/usr/local/sbin/cleargmirror.sh
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+clear_disk() {
+ local _disk="${1}"
+ local _mirror=$(/sbin/gmirror dump ${_disk} 2>/dev/null | sed '/name: /!d; s,^.*: ,,')
+
+ if [ -n "${_mirror}" ]; then
+ /sbin/gmirror destroy -f ${_mirror} >/dev/null 2>&1
+ fi
+ /sbin/gmirror clear ${_disk} >/dev/null 2>&1
+}
+
+mirror="${1}"
+disk1="${2}"
+disk2="${3}"
+
+if [ -z "${mirror}" -o -z "${disk1}" -o -z "${disk2}" ]; then
+ echo "You must specify mirror name, and disks that should be cleared"
+ exit 1
+fi
+
+/sbin/gmirror destroy -f ${mirror} >/dev/null 2>&1
+clear_disk ${disk1}
+clear_disk ${disk2}
+
+exit 0
OpenPOWER on IntegriCloud