Messages in this thread |  | | From | Albert Cahalan <> | Subject | Re: possible SCSI device numbering solution | Date | Wed, 26 Jun 1996 14:29:25 -0400 (EDT) |
| |
> > Break up device numbers on nibble boundries for readability. > >=20 > > controller:4 > > bus:4 > > device:8 > > lun:8 > > partition:4 > >=20 > > Hmmm, that is only 28 bits. Did I miss something? If SCSI, IDE, > > and all the weird stuff gets unified naming, then 36 bits are left > > over! Even with 8-bit partition numbers, 32 bits is enough. > >=20 > > Major number maybe?! [And no, we are *NOT* getting rid of the major nu= > mber.] > > -hpa
The major number is useful for character devices, which can be split 12:20. For block devices, a block device is just a block device. If you just need a major number to fill some software "need", then just make it 0 for all block devices.
I think these are the most practical suggestions so far:
16:16 Fits in existing struct, symmetric. Too small? 12:20 for char, 0:32 for block. Fits in existing struct. 32:32 This is symmetric. 16:48 48-bit minors are great for disks. 16:32 Almost like above, with padding. Better for "ls -l /dev"
32-bit is easy to fit in the inode. I suspect that 64-bit numbers would require a hacked fsck (because numbers go in the block list).
16:48 is awesome: With a major for Ethernet, every ethernet card in the world can have its own minor. With a major for TCP/IP, every port on every machine can have a minor number. With a major for IDE, every sector (byte?) on every disk in a machine can have a minor number.
What about tar? I know it can be compiled to support HP-UX 32-bit device numbers. Can it do 64-bit device numbers? What about cpio?
Being practical, I think 12:20/0:32 is the best choice.
|  |