raidframe revision 1.5
11.1Slukem#!/bin/sh
21.1Slukem#
31.5Slukem# $NetBSD: raidframe,v 1.5 2000/11/17 05:43:46 lukem Exp $
41.1Slukem#
51.1Slukem
61.2Sthorpej# PROVIDE: disks
71.1Slukem
81.1Slukem. /etc/rc.subr
91.1Slukem
101.1Slukemname="raidframe"
111.1Slukemstart_cmd="raidframe_start"
121.1Slukemstop_cmd=":"
131.1Slukem
141.1Slukemraidframe_start()
151.1Slukem{
161.5Slukem	# Configure raid devices.
171.5Slukem	# Ensure order by globbing raid[0-9].conf before raid[0-9][0-9].conf.
181.1Slukem	#
191.5Slukem	for cfg in /etc/raid[0-9].conf /etc/raid[0-9][0-9].conf ; do
201.5Slukem		[ ! -f $cfg ] && continue
211.5Slukem		dev=${cfg##*/}
221.5Slukem		dev=${dev%%.conf}
231.5Slukem		raidctl -c $cfg $dev
241.1Slukem	done
251.4Soster
261.5Slukem	# Initiate parity/mirror reconstruction as needed.
271.4Soster	# Backgrounded, and sequentially ordered.
281.4Soster	#
291.5Slukem	# XXX:	this currently doesn't work for autoconfigured raid devices
301.5Slukem	#	that don't have a corresponding raidN.conf
311.5Slukem	#
321.4Soster	(
331.5Slukem		for cfg in /etc/raid[0-9].conf /etc/raid[0-9][0-9].conf ; do
341.5Slukem			[ ! -f $cfg ] && continue
351.5Slukem			dev=${cfg##*/}
361.5Slukem			dev=${dev%%.conf}
371.5Slukem			raidctl -P $dev
381.5Slukem		done
391.4Soster	) &
401.1Slukem}
411.1Slukem
421.3Slukemload_rc_config $name
431.1Slukemrun_rc_command "$1"
44