Rick Stevens wrote:
On Thu, 2007-08-09 at 18:58 -0500, Mikkel L. Ellertson wrote:
From what I understand, there are a max of 16 device entries created for a SCSI hard drive. (sdx and sdx1 through sdx15) So while you can have more partitions then that, Linux will not let you access them when using the SCSI code to access the drive. I believe it is a driver problem more then a udev problem.
Well, the "x" in your example can take the RE form "[a-z]+". For example, we have some storage arrays with, oh, 130 LUNs on them. They appear as /dev/sda[1-15] through /dev/sdiv[1-15]
As far as the partition numbers, that's based on the minor number of the block device. The formula is "(16 * drive number) + partition number". The "16" is what limits it to 16 partitions (with partition 0 being the same as the whole drive, e.g. "/dev/sda0" is the same as "/dev/sda").
"man sd" will show you the magic.
You and I are saying the same thing, just in different ways. I used x where you use [a-z]+. But I have never seen /dev/sda0 created. It is always /dev/sda. You could also argue that the entire disk is not a partition, even though you can access the entire disk as if it were a partition. (You can create a file system on /dev/sda, but you can not do that and have a partition table at the same time.) There have been times in the past where I have used the entire drive instead of creating a partition table. But most BIOS do not like it. (Tar doesn't care - the drive can be one big archive.)
When you get into SCSI LUNs, you will probably lose a lot of people. I have always found it easier to think of each LUN as its own device. But then again, I worked more with CD drive arrays connected to a LUN controller. 8 drives using one SCSI device number. Now days, it usually works better to copy the CD images to a hard drive, and loopback mount them. By using automount to manage them, you can even keep the number of loopback mounts down to a reasonable number.
Mikkel