aboutsummaryrefslogtreecommitdiff
path: root/etc/rc.d/raidframe
diff options
context:
space:
mode:
Diffstat (limited to 'etc/rc.d/raidframe')
-rwxr-xr-xetc/rc.d/raidframe43
1 files changed, 43 insertions, 0 deletions
diff --git a/etc/rc.d/raidframe b/etc/rc.d/raidframe
new file mode 100755
index 000000000000..640ad6f9dad4
--- /dev/null
+++ b/etc/rc.d/raidframe
@@ -0,0 +1,43 @@
+#!/bin/sh
+#
+# $NetBSD: raidframe,v 1.4 2000/05/16 16:54:33 oster Exp $
+#
+
+# PROVIDE: disks
+
+. /etc/rc.subr
+
+name="raidframe"
+start_cmd="raidframe_start"
+stop_cmd=":"
+
+raidframe_start()
+{
+ # Configure raid devices.
+ # Ensure order by globbing raid[0-9].conf before raid[0-9][0-9].conf.
+ #
+ for cfg in /etc/raid[0-9].conf /etc/raid[0-9][0-9].conf ; do
+ [ ! -f $cfg ] && continue
+ dev=${cfg##*/}
+ dev=${dev%%.conf}
+ raidctl -c $cfg $dev
+ done
+
+ # Initiate parity/mirror reconstruction as needed.
+ # Backgrounded, and sequentially ordered.
+ #
+ # XXX: this currently doesn't work for autoconfigured raid devices
+ # that don't have a corresponding raidN.conf
+ #
+ (
+ for cfg in /etc/raid[0-9].conf /etc/raid[0-9][0-9].conf ; do
+ [ ! -f $cfg ] && continue
+ dev=${cfg##*/}
+ dev=${dev%%.conf}
+ raidctl -P $dev
+ done
+ ) &
+}
+
+load_rc_config $name
+run_rc_command "$1"