summaryrefslogtreecommitdiffstats
path: root/etc/rc.d/raidframe
blob: 640ad6f9dad459589f18fc5595ad54bc3ce123c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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"
OpenPOWER on IntegriCloud