#!/bin/sh
# Script to create device nodes for SMART array controllers
# Usage:
#	mkdev.ida [num controllers] [num log volumes] [num partitions]
#
# With no arguments, the script assumes 1 controller, 16 logical volumes,
# and 16 partitions/volume, which is adequate for most configurations.
#
# If you had 5 controllers and were planning on no more than 4 logical volumes
# each, using a maximum of 8 partitions per volume, you could say:
#
# mkdev.ida 5 4 8
#
# Of course, this has no real benefit over "mkdev.ida 5" except that it
# doesn't create so many device nodes in /dev/ida.

NR_CTLR=${1-1}
NR_VOL=${2-16}
NR_PART=${3-16}

if [ ! -d /dev/ida ]; then
	mkdir -p /dev/ida
fi

C=0; while [ $C -lt $NR_CTLR ]; do
	MAJ=`expr $C + 72`
	D=0; while [ $D -lt $NR_VOL ]; do
		P=0; while [ $P -lt $NR_PART ]; do
			MIN=`expr $D \* 16 + $P`
			if [ $P -eq 0 ]; then
				mknod /dev/ida/c${C}d${D} b $MAJ $MIN
			else
				mknod /dev/ida/c${C}d${D}p${P} b $MAJ $MIN
			fi
			P=`expr $P + 1`
		done
		D=`expr $D + 1`
	done
	C=`expr $C + 1`
done
