2000-03-10 14:53:23 +03:00
|
|
|
#!/bin/sh
|
|
|
|
#
|
2002-01-27 17:16:33 +03:00
|
|
|
# $NetBSD: raidframe,v 1.6 2002/01/27 14:16:33 lukem Exp $
|
2000-03-10 14:53:23 +03:00
|
|
|
#
|
|
|
|
|
2000-04-26 09:13:51 +04:00
|
|
|
# PROVIDE: disks
|
2000-03-10 14:53:23 +03:00
|
|
|
|
|
|
|
. /etc/rc.subr
|
|
|
|
|
|
|
|
name="raidframe"
|
|
|
|
start_cmd="raidframe_start"
|
|
|
|
stop_cmd=":"
|
|
|
|
|
|
|
|
raidframe_start()
|
|
|
|
{
|
2002-01-27 17:16:33 +03:00
|
|
|
# Configure non-auto-configured raid devices.
|
2000-11-17 08:43:46 +03:00
|
|
|
# Ensure order by globbing raid[0-9].conf before raid[0-9][0-9].conf.
|
2000-03-10 14:53:23 +03:00
|
|
|
#
|
2000-11-17 08:43:46 +03:00
|
|
|
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
|
2000-03-10 14:53:23 +03:00
|
|
|
done
|
2000-05-16 20:54:33 +04:00
|
|
|
|
2002-01-27 17:16:33 +03:00
|
|
|
# Initiate parity/mirror reconstruction as needed, in the background.
|
2000-11-17 08:43:46 +03:00
|
|
|
#
|
2000-05-16 20:54:33 +04:00
|
|
|
(
|
2002-01-27 17:16:33 +03:00
|
|
|
for dev in `sysctl -n hw.disknames`; do
|
|
|
|
case $dev in
|
|
|
|
raid[0-9]*)
|
|
|
|
raidctl -P $dev
|
|
|
|
;;
|
|
|
|
esac
|
2000-11-17 08:43:46 +03:00
|
|
|
done
|
2000-05-16 20:54:33 +04:00
|
|
|
) &
|
2000-03-10 14:53:23 +03:00
|
|
|
}
|
|
|
|
|
2000-05-13 12:45:06 +04:00
|
|
|
load_rc_config $name
|
2000-03-10 14:53:23 +03:00
|
|
|
run_rc_command "$1"
|