Initial commit
This commit is contained in:
		
							
								
								
									
										18
									
								
								package/utils/mdadm/files/mdadm.config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								package/utils/mdadm/files/mdadm.config
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | ||||
| config mdadm | ||||
| 	option email root | ||||
| 	# list devices /dev/hd* | ||||
| 	# list devices /dev/sd* | ||||
| 	# list devices partitions | ||||
|  | ||||
| config array | ||||
| 	option uuid 52c5c44a:d2162820:f75d3464:799750f8 | ||||
| 	option device /dev/md0 | ||||
| 	# option name raid:0 | ||||
| 	# option super_minor 0 | ||||
| 	# list devices /dev/sda1 | ||||
| 	# list devices /dev/sdb1 | ||||
| 	# option spares 0 | ||||
| 	# option spare_group spares | ||||
| 	# option bitmap /bitmap.md | ||||
| 	# option container 00000000:00000000:00000000:00000000 | ||||
| 	# option member 1 | ||||
							
								
								
									
										93
									
								
								package/utils/mdadm/files/mdadm.init
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								package/utils/mdadm/files/mdadm.init
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,93 @@ | ||||
| #!/bin/sh /etc/rc.common | ||||
|  | ||||
| START=13 | ||||
| STOP=98 | ||||
|  | ||||
| USE_PROCD=1 | ||||
| PROG=/sbin/mdadm | ||||
| NAME=mdadm | ||||
|  | ||||
| CONF="/var/etc/mdadm.conf" | ||||
|  | ||||
| append_list_item() { | ||||
| 	append "$2" "$1" "$3" | ||||
| } | ||||
|  | ||||
| append_option() { | ||||
| 	local var="$1" | ||||
| 	local cfg="$2" | ||||
| 	local opt="$3" | ||||
| 	local name="$4" | ||||
| 	local sep="$5" | ||||
| 	local str | ||||
|  | ||||
| 	if [ -n "$sep" ]; then | ||||
| 		config_list_foreach "$cfg" "$opt" append_list_item str "$sep" | ||||
| 	else | ||||
| 		config_get str "$cfg" "$opt" | ||||
| 	fi | ||||
|  | ||||
| 	[ -n "$str" ] && append "$var" $(printf "%s=%s" "${name:-${opt//_/-}}" "$str") | ||||
| } | ||||
|  | ||||
| mdadm_common() { | ||||
| 	local cfg="$1" | ||||
| 	local email devices | ||||
|  | ||||
| 	if [ -x /usr/sbin/sendmail ]; then | ||||
| 		config_get email "$cfg" email | ||||
| 		[ -n "$email" ] && printf "MAILADDR %s\n" "$email" >> $CONF | ||||
| 	fi | ||||
|  | ||||
| 	config_list_foreach "$cfg" devices append_list_item devices " " | ||||
| 	[ -n "$devices" ] && printf "DEVICE %s\n" "$devices" >> $CONF | ||||
| } | ||||
|  | ||||
| mdadm_array() { | ||||
| 	local cfg="$1" | ||||
| 	local uuid device devices name array | ||||
|  | ||||
| 	config_get uuid "$cfg" uuid | ||||
| 	config_get name "$cfg" name | ||||
| 	config_get device "$cfg" device | ||||
|  | ||||
| 	if [ -z "$device" ] || [ -z "$uuid$name" ]; then | ||||
| 		echo "Skipping array without device, uuid or name" >&2 | ||||
| 		return | ||||
| 	fi | ||||
|  | ||||
| 	[ -n "$uuid" ] && append array "uuid=$uuid" | ||||
| 	[ -n "$name" ] && append array "name=$name" | ||||
|  | ||||
| 	append_option array "$cfg" super_minor | ||||
| 	append_option array "$cfg" spares | ||||
| 	append_option array "$cfg" spare_group | ||||
| 	append_option array "$cfg" bitmap | ||||
| 	append_option array "$cfg" container | ||||
| 	append_option array "$cfg" member | ||||
| 	append_option array "$cfg" devices devices "," | ||||
|  | ||||
| 	printf "ARRAY %s %s\n" "$device" "$array" >> $CONF | ||||
| } | ||||
|  | ||||
| start_service() { | ||||
| 	local email | ||||
|  | ||||
| 	mkdir -p "${CONF%/*}" | ||||
| 	printf "# Autogenerated from /etc/config/mdadm, do not edit!\n" > $CONF | ||||
|  | ||||
| 	config_load mdadm | ||||
| 	config_foreach mdadm_common mdadm | ||||
| 	config_foreach mdadm_array array | ||||
|  | ||||
| 	$PROG --assemble --scan --config="$CONF" | ||||
|  | ||||
| 	procd_open_instance | ||||
| 	procd_set_param command "$PROG" --monitor --syslog --scan --config="$CONF" | ||||
| 	procd_close_instance | ||||
| } | ||||
|  | ||||
| stop_service() { | ||||
| 	$PROG --stop --scan | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 domenico
					domenico