FreeBSD-5.3/etc/rc.d/raidframe

#!/bin/sh
#
# $NetBSD: raidframe,v 1.6 2002/01/27 14:16:33 lukem Exp $
# $FreeBSD: src/etc/rc.d/raidframe,v 1.2 2002/06/13 22:14:36 gordon Exp $
#

# PROVIDE: disks

. /etc/rc.subr

name="raidframe"
start_cmd="raidframe_start"
stop_cmd=":"

raidframe_start()
{
	# Configure non-auto-configured 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, in the background.
	#
	(
		for dev in `sysctl -n hw.disknames`; do
			case $dev in
			raid[0-9]*)
				raidctl -P $dev
				;;
			esac
		done
	) &
}

load_rc_config $name
run_rc_command "$1"