[BACK]Return to mkshelf.sh CVS log [TXT][DIR] Up to [Development] / linux-2.6-xfs-all / Documentation / aoe

File: [Development] / linux-2.6-xfs-all / Documentation / aoe / mkshelf.sh (download)

Revision 1.3, Fri Oct 28 16:02:11 2005 UTC (11 years, 11 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
CVS Tags: HEAD
Changes since 1.2: +4 -2 lines

Merge up to 2.6.14
Merge of 2.6.x-xfs-melb:linux:24258a by kenmcd.

#! /bin/sh

if test "$#" != "2"; then
	echo "Usage: sh `basename $0` {dir} {shelfaddress}" 1>&2
	echo "       n_partitions=16 sh `basename $0` {dir} {shelfaddress}" 1>&2
	exit 1
fi
n_partitions=${n_partitions:-16}
dir=$1
shelf=$2
nslots=16
maxslot=`echo $nslots 1 - p | dc`
MAJOR=152

set -e

minor=`echo $nslots \* $shelf \* $n_partitions | bc`
endp=`echo $n_partitions - 1 | bc`
for slot in `seq 0 $maxslot`; do
	for part in `seq 0 $endp`; do
		name=e$shelf.$slot
		test "$part" != "0" && name=${name}p$part
		rm -f $dir/$name
		mknod -m 0660 $dir/$name b $MAJOR $minor

		minor=`expr $minor + 1`
	done
done