New device drivers don't see beyond 15 partitions in fc7

Lamont Peterson lamont at gurulabs.com
Fri Dec 22 19:26:38 UTC 2006


On Friday 22 December 2006 01:28am, Rob Andrews wrote:
> On 21-Dec-2006 22:57.31 (GMT), Clyde E. Kunkel wrote:
>  > With the change from traditional /dev/hd* type device nodes to /dev/sd*
>  > type nodes, I see that the highest partition number that can be used is
>  > 15.  Will this change so that higher numbers will be available?  I do
>  > have a system that has a drive with almost 30 small partitions used in a
>  > research effort and the number of partitions has not been an issue thru
>  > fc6.
>
> devices.txt says that hdN device numbering supports up to 63 partitions per
> disk. It also says that sdN device numbering follows the same trend as hdN
> numbering (unified partition table handling, and all).
>
> I didn't think that PC BIOS partition tables supported > 15 partitions. To
> the best of my knowledge, the 63-partition numbering scheme was there for
> partition table formats that *did* support it (Amiga RDB, BSD disk label,
> etc).
>
> To quote the fdisk(8) manual page:
>
>     The partition is a device name followed by a partition number.
>     For example, /dev/hda1 is the first partition on the first IDE
>     hard disk in the system. Disks can have up to 15 partitions.
>     See also /usr/src/linux/Documentation/devices.txt.

That's an old holdover.  Older versions of fdisk took the lazy way out and 
didn't try to figure out if you had a SCSI or an IDE drive.  It just went 
with the lowest common denominator (i.e. 15 partitions( that worked on all 
disks.

The kernel has supported up to 63 partitions on a single IDE drive for a long 
time.  It was the partitioning tools (most notably, fdisk) that didn't.

BTW, the numbers 63 & 15 are not arbitrary.  It comes from the 256 major 
numbers, 256 minor numbers for device nodes that kernels prior to 2.6 used.  
So, since you can have up to 4 drives on a single (typical) IDE controller (2 
channels, one master one slave drive on each), take the 256 minor numbers for 
that controller and divide by 4.  You get 64 minor numbers to use for 
partitions on that drive, however, one of them is used for the whole drive 
(i.e. /dev/hda) leaving 63 for partitions (i.e. /dev/hda1 -> /dev/hda63).

For SCSI (and SATA, etc.), there can be a maximum of 16 devices on any SCSI 
bus (or channel, if you prefer that term), so 256/16 = 16.  One for the whole 
drive (/dev/sda) and 15 for the partitions (/dev/sda1 -> /dev/sda15).

Now, if you're wondering about the 16 devices on a SCSI bus, one of them will 
be the controller, usually at SCSI ID 7.  That leave 15 SCSI IDs to assign to 
drives.  However, faster bus speeds and longer cables both lower the total 
number of devices a SCSI bus can support, so the newer, better, shinier SCSI 
stuff doesn't support 15 drives on a single SCSI channel.

> To reiterate what another writer has said, lvm is a smashing way of
> working. And it has a much more flexible ("meaningful") volume naming
> scheme.

Only if you give LVs meaningful names.  anaconda (as I've already pointed out 
in this thread) uses fairly useless names for LVs.

For years, I always named the VGs something like vg0, since I didn't much care 
what that name was.  Today, I name the VG the same as the machine name (this 
notebook is "corsair" so that's what the VG is named).
-- 
Lamont Peterson <lamont at gurulabs.com>
Senior Instructor
Guru Labs, L.C. [ http://www.GuruLabs.com/ ]

NOTE:  All messages from this email address should be digitally signed with my
       0xDC0DD409 GPG key. It is available on the pgp.mit.edu keyserver as
       well as other keyservers that sync with MIT's.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/fedora-devel-list/attachments/20061222/ff3977f2/attachment.sig>


More information about the fedora-devel-list mailing list