Skip to content

Commit

Permalink
[SCSI] sd: remove arbitrary SD_MAX_DISKS namespace limit
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Dave Kleikamp authored and James Bottomley committed Oct 30, 2011
1 parent 6e88020 commit 21208ae
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 13 deletions.
12 changes: 5 additions & 7 deletions drivers/scsi/sd.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
6 changes: 0 additions & 6 deletions drivers/scsi/sd.h
Original file line number Diff line number Diff line change
Expand Up @@ -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).
*/
Expand Down

0 comments on commit 21208ae

Please sign in to comment.