From: ecashin@coraid.com Date: Tue, 19 Apr 2005 05:00:17 +0000 (-0700) Subject: [PATCH] aoe 1/12: remove too-low cap on minor number X-Git-Tag: v2.6.12-rc3~24^2~9 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fc458dcda27c6d26cb11ef9ee9c1c3599711be94;p=linux-2.6 [PATCH] aoe 1/12: remove too-low cap on minor number remove too-low cap on minor number Signed-off-by: Ed L. Cashin Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/block/aoe/aoe.h b/drivers/block/aoe/aoe.h index db78f826d4..551dd8e5b1 100644 --- a/drivers/block/aoe/aoe.h +++ b/drivers/block/aoe/aoe.h @@ -2,9 +2,14 @@ #define VERSION "5" #define AOE_MAJOR 152 #define DEVICE_NAME "aoe" + +/* set AOE_PARTITIONS to 1 to use whole-disks only + * default is 16, which is 15 partitions plus the whole disk + */ #ifndef AOE_PARTITIONS #define AOE_PARTITIONS 16 #endif + #define SYSMINOR(aoemajor, aoeminor) ((aoemajor) * 10 + (aoeminor)) #define AOEMAJOR(sysminor) ((sysminor) / 10) #define AOEMINOR(sysminor) ((sysminor) % 10) diff --git a/drivers/block/aoe/aoecmd.c b/drivers/block/aoe/aoecmd.c index fb6d942a45..1b711a52dd 100644 --- a/drivers/block/aoe/aoecmd.c +++ b/drivers/block/aoe/aoecmd.c @@ -577,7 +577,7 @@ aoecmd_cfg_rsp(struct sk_buff *skb) struct aoe_cfghdr *ch; ulong flags, bufcnt, sysminor, aoemajor; struct sk_buff *sl; - enum { MAXFRAMES = 8, MAXSYSMINOR = 255 }; + enum { MAXFRAMES = 8 }; h = (struct aoe_hdr *) skb->mac.raw; ch = (struct aoe_cfghdr *) (h+1); @@ -594,9 +594,10 @@ aoecmd_cfg_rsp(struct sk_buff *skb) } sysminor = SYSMINOR(aoemajor, h->minor); - if (sysminor > MAXSYSMINOR) { - printk(KERN_INFO "aoe: aoecmd_cfg_rsp: sysminor %ld too " - "large\n", sysminor); + if (sysminor * AOE_PARTITIONS + AOE_PARTITIONS > MINORMASK) { + printk(KERN_INFO + "aoe: e%ld.%d: minor number too large\n", + aoemajor, (int) h->minor); return; }