Messages in this thread |  | | From | "Eric Youngdale" <> | Date | Thu, 13 Jun 1996 19:44:36 -0400 | Subject | Re: Ideas for v2.1 |
| |
>I have > >/dev/hda -> IDE >/dev/sda -> SCSI ID0 >/dev/sdb -> SCSI ID3 >/dev/sdc -> SCSI ID4 >/dev/sdd -> SCSI ID5 > >Now I remove SCSI ID3. 'drive does not spin underwater error' > >/dev/sda -> SCSI ID0 >/dev/sdb -> SCSI ID4 >/dev/sdc -> SCSI ID5 > >:-( > >Not too different from the scheme you criticized above. But it is >already in there. And IMHO it sucks. :-(
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."
|  |