[SCSI] sd: remove arbitrary SD_MAX_DISKS namespace limit
authorDave Kleikamp <dave.kleikamp@oracle.com>
Wed, 19 Oct 2011 16:49:04 +0000 (11:49 -0500)
committerJames Bottomley <JBottomley@Parallels.com>
Sun, 30 Oct 2011 08:58:11 +0000 (12:58 +0400)
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>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/sd.c
drivers/scsi/sd.h

index a7942e5c8be8c91dfc3f5dd45ee96fa4195be987..fa3a5918009cfd9e9223a650a6c487585af36fa4 100644 (file)
@@ -2590,18 +2590,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;
index 6ad798bfd52a05b0c45de905756e0898c324e3f0..4163f2910e3de300ca7d2c37a2ef38fc65d59206 100644 (file)
@@ -8,12 +8,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).
  */