summaryrefslogtreecommitdiffstats
path: root/Documentation/aoe/mkshelf.sh
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/aoe/mkshelf.sh')
-rw-r--r--Documentation/aoe/mkshelf.sh28
1 files changed, 28 insertions, 0 deletions
diff --git a/Documentation/aoe/mkshelf.sh b/Documentation/aoe/mkshelf.sh
new file mode 100644
index 0000000..3261581
--- /dev/null
+++ b/Documentation/aoe/mkshelf.sh
@@ -0,0 +1,28 @@
+#! /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
OpenPOWER on IntegriCloud