From ecashin@coraid.com Fri Aug 19 14:18:36 2005
CC: ecashin@coraid.com, Greg K-H <greg@kroah.com>
Subject: aoe [1/2]: support 16 AoE slot addresses per AoE shelf
From: Ed L Cashin <ecashin@coraid.com>
Date: Fri, 19 Aug 2005 16:54:43 -0400
Message-ID: <87fyt5k5po.fsf@coraid.com>

Change the number of supported AoE slot addresses per AoE shelf
address to 16.

Signed-off-by: Ed L. Cashin <ecashin@coraid.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 Documentation/aoe/mkshelf.sh |    6 ++++--
 drivers/block/aoe/aoe.h      |   10 +++++-----
 2 files changed, 9 insertions(+), 7 deletions(-)

--- gregkh-2.6.orig/Documentation/aoe/mkshelf.sh	2005-08-28 16:41:01.000000000 -0700
+++ gregkh-2.6/Documentation/aoe/mkshelf.sh	2005-09-09 14:11:02.000000000 -0700
@@ -8,13 +8,15 @@ fi
 n_partitions=${n_partitions:-16}
 dir=$1
 shelf=$2
+nslots=16
+maxslot=`echo $nslots 1 - p | dc`
 MAJOR=152
 
 set -e
 
-minor=`echo 10 \* $shelf \* $n_partitions | bc`
+minor=`echo $nslots \* $shelf \* $n_partitions | bc`
 endp=`echo $n_partitions - 1 | bc`
-for slot in `seq 0 9`; do
+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
--- gregkh-2.6.orig/drivers/block/aoe/aoe.h	2005-08-28 16:41:01.000000000 -0700
+++ gregkh-2.6/drivers/block/aoe/aoe.h	2005-09-09 14:11:02.000000000 -0700
@@ -7,12 +7,12 @@
  * default is 16, which is 15 partitions plus the whole disk
  */
 #ifndef AOE_PARTITIONS
-#define AOE_PARTITIONS 16
+#define AOE_PARTITIONS (16)
 #endif
 
-#define SYSMINOR(aoemajor, aoeminor) ((aoemajor) * 10 + (aoeminor))
-#define AOEMAJOR(sysminor) ((sysminor) / 10)
-#define AOEMINOR(sysminor) ((sysminor) % 10)
+#define SYSMINOR(aoemajor, aoeminor) ((aoemajor) * NPERSHELF + (aoeminor))
+#define AOEMAJOR(sysminor) ((sysminor) / NPERSHELF)
+#define AOEMINOR(sysminor) ((sysminor) % NPERSHELF)
 #define WHITESPACE " \t\v\f\n"
 
 enum {
@@ -83,7 +83,7 @@ enum {
 
 enum {
 	MAXATADATA = 1024,
-	NPERSHELF = 10,
+	NPERSHELF = 16,		/* number of slots per shelf address */
 	FREETAG = -1,
 	MIN_BUFS = 8,
 };