All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] [SCSI] remove arbitrary SD_MAX_DISKS namespace limit
@ 2011-10-03 16:47 Dave Kleikamp
  2011-10-03 17:57 ` James Bottomley
  0 siblings, 1 reply; 4+ messages in thread
From: Dave Kleikamp @ 2011-10-03 16:47 UTC (permalink / raw)
  To: James E.J. Bottomley; +Cc: linux-scsi

I see no reason to limit the SCSI disk namespace to sdXXX. We test
systems with more than 18278 LUNs.

Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
Cc: "James E.J. Bottomley" <JBottomley@parallels.com>
Cc: linux-scsi@vger.kernel.org

diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index 953773c..741c7f7 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -2592,12 +2592,6 @@ static int sd_probe(struct device *dev)
 	if (error)
 		goto out_put;
 
-	if (index >= SD_MAX_DISKS) {
-		error = -ENODEV;
-		sdev_printk(KERN_WARNING, sdp, "SCSI disk (sd) name space exhausted.\n");
-		goto out_free_index;
-	}
-
 	error = sd_format_disk_name("sd", index, gd->disk_name, DISK_NAME_LEN);
 	if (error)
 		goto out_free_index;
diff --git a/drivers/scsi/sd.h b/drivers/scsi/sd.h
index 6ad798b..4163f29 100644
--- a/drivers/scsi/sd.h
+++ b/drivers/scsi/sd.h
@@ -9,12 +9,6 @@
 #define SD_MAJORS	16
 
 /*
- * This is limited by the naming scheme enforced in sd_probe,
- * add another character to it if you really need more disks.
- */
-#define SD_MAX_DISKS	(((26 * 26) + 26 + 1) * 26)
-
-/*
  * Time out in seconds for disks and Magneto-opticals (which are slower).
  */
 #define SD_TIMEOUT		(30 * HZ)

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] [SCSI] remove arbitrary SD_MAX_DISKS namespace limit
  2011-10-03 16:47 [PATCH] [SCSI] remove arbitrary SD_MAX_DISKS namespace limit Dave Kleikamp
@ 2011-10-03 17:57 ` James Bottomley
  2011-10-03 18:29   ` Dave Kleikamp
  2011-10-19 16:49   ` [PATCH v2] " Dave Kleikamp
  0 siblings, 2 replies; 4+ messages in thread
From: James Bottomley @ 2011-10-03 17:57 UTC (permalink / raw)
  To: Dave Kleikamp; +Cc: linux-scsi

On Mon, 2011-10-03 at 11:47 -0500, Dave Kleikamp wrote:
> I see no reason to limit the SCSI disk namespace to sdXXX. We test
> systems with more than 18278 LUNs.

I suppose we kept the old limit for historical reasons, so I've no real
objection to raising it, except the error messages now need to be beefed
up.  We need one for the ida_get_new() failure and the original
exhaustion messages needs to move to the sd_format_disk_name() check ...
that's now what checks we don't go over the possible size in
DISK_NAME_LEN (I know at 32 it's way beyond INT_MAX ... but just in case
someone decides to lower it) ... probably it's the same error message
(but better make it unique for the static checkers).

James



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] [SCSI] remove arbitrary SD_MAX_DISKS namespace limit
  2011-10-03 17:57 ` James Bottomley
@ 2011-10-03 18:29   ` Dave Kleikamp
  2011-10-19 16:49   ` [PATCH v2] " Dave Kleikamp
  1 sibling, 0 replies; 4+ messages in thread
From: Dave Kleikamp @ 2011-10-03 18:29 UTC (permalink / raw)
  To: James Bottomley; +Cc: linux-scsi

On 10/03/2011 12:57 PM, James Bottomley wrote:
> On Mon, 2011-10-03 at 11:47 -0500, Dave Kleikamp wrote:
>> I see no reason to limit the SCSI disk namespace to sdXXX. We test
>> systems with more than 18278 LUNs.
>
> I suppose we kept the old limit for historical reasons, so I've no real
> objection to raising it, except the error messages now need to be beefed
> up.  We need one for the ida_get_new() failure and the original
> exhaustion messages needs to move to the sd_format_disk_name() check ...
> that's now what checks we don't go over the possible size in
> DISK_NAME_LEN (I know at 32 it's way beyond INT_MAX ... but just in case
> someone decides to lower it) ... probably it's the same error message
> (but better make it unique for the static checkers).

I'll defer to your judgment on how to fix this. I didn't look at your
git tree, just mainline. Just bumping up SD_MAX_DISKS is sufficient.
Wrapping the calculation in another (( ...) + 1) * 26 should get us
through another decade, I would think. :-) Or any reasonably high
number. INT_MAX?

Thanks,
Shaggy

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH v2] [SCSI] remove arbitrary SD_MAX_DISKS namespace limit
  2011-10-03 17:57 ` James Bottomley
  2011-10-03 18:29   ` Dave Kleikamp
@ 2011-10-19 16:49   ` Dave Kleikamp
  1 sibling, 0 replies; 4+ messages in thread
From: Dave Kleikamp @ 2011-10-19 16:49 UTC (permalink / raw)
  To: James Bottomley; +Cc: linux-scsi

On 10/03/2011 12:57 PM, James Bottomley wrote:
> On Mon, 2011-10-03 at 11:47 -0500, Dave Kleikamp wrote:
>> I see no reason to limit the SCSI disk namespace to sdXXX. We test
>> systems with more than 18278 LUNs.
> 
> I suppose we kept the old limit for historical reasons, so I've no real
> objection to raising it, except the error messages now need to be beefed
> up.  We need one for the ida_get_new() failure and the original
> exhaustion messages needs to move to the sd_format_disk_name() check ...
> that's now what checks we don't go over the possible size in
> DISK_NAME_LEN (I know at 32 it's way beyond INT_MAX ... but just in case
> someone decides to lower it) ... probably it's the same error message
> (but better make it unique for the static checkers).

There is no reason to limit the SCSI disk namespace to sdXXX.

Add new error messages to sd_probe() in the unlikely event that either
ida_get_new() or sd_format_disk_name() fail.

Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
Cc: "James E.J. Bottomley" <JBottomley@parallels.com>
Cc: linux-scsi@vger.kernel.org
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index 953773c..55424c8 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -2589,18 +2589,16 @@ static int sd_probe(struct device *dev)
 		spin_unlock(&sd_index_lock);
 	} while (error == -EAGAIN);
 
-	if (error)
+	if (error) {
+		sdev_printk(KERN_WARNING, sdp, "sd_probe: memory exhausted.\n");
 		goto out_put;
-
-	if (index >= SD_MAX_DISKS) {
-		error = -ENODEV;
-		sdev_printk(KERN_WARNING, sdp, "SCSI disk (sd) name space exhausted.\n");
-		goto out_free_index;
 	}
 
 	error = sd_format_disk_name("sd", index, gd->disk_name, DISK_NAME_LEN);
-	if (error)
+	if (error) {
+		sdev_printk(KERN_WARNING, sdp, "SCSI disk (sd) name length exceeded.\n");
 		goto out_free_index;
+	}
 
 	sdkp->device = sdp;
 	sdkp->driver = &sd_template;
diff --git a/drivers/scsi/sd.h b/drivers/scsi/sd.h
index 6ad798b..4163f29 100644
--- a/drivers/scsi/sd.h
+++ b/drivers/scsi/sd.h
@@ -9,12 +9,6 @@
 #define SD_MAJORS	16
 
 /*
- * This is limited by the naming scheme enforced in sd_probe,
- * add another character to it if you really need more disks.
- */
-#define SD_MAX_DISKS	(((26 * 26) + 26 + 1) * 26)
-
-/*
  * Time out in seconds for disks and Magneto-opticals (which are slower).
  */
 #define SD_TIMEOUT		(30 * HZ)

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-10-19 16:49 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-10-03 16:47 [PATCH] [SCSI] remove arbitrary SD_MAX_DISKS namespace limit Dave Kleikamp
2011-10-03 17:57 ` James Bottomley
2011-10-03 18:29   ` Dave Kleikamp
2011-10-19 16:49   ` [PATCH v2] " Dave Kleikamp

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.