Sigh. This is why I wrote scsidev. Take a look on tsx-11 in
pub/linux/ALPHA/scsi. People may argue as to whether this is the correct
approach, but it solves the problem you describe.
For those of you that don't know, scsidev is a user mode program
that populates a /dev/scsi/* tree with entries that look kind of similar to
what you get under Solaris. The idea is that you run it each time you boot
up, and the minor numbers for the entries are updated so that a given
entry in /dev/scsi/ always points to the same device even if some disk
didn't spin up.
Some people feel that it would be better to go with fixed
major/minor
mapping to devices. The idea certainly has it's merits, but until we get a
larger dev_t, this will impossible. I should point out that a 32 bit dev_t
will probably also be insufficient, and that a 64 bit dev_t would probably
be required. The main bit of work would be in fixing the filesystems to
hold the larger dev_t, and dealing with all of the backwards compatibility
issues. Bootup can also present challenges, as currently there are two bytes
in the boot block of the kernel image for the root filesystem major/minor,
and this would need to be fixed too.
-Eric
-- "The woods are lovely, dark and deep. But I have promises to keep, And lines to code before I sleep, And lines to code before I sleep."