Subject: Re: CFR: The Auto-Generation Block/Character Device Switch Tables
To: Bill Studenmund <wrstuden@netbsd.org>
From: Darren Reed <darrenr@reed.wattle.id.au>
List: tech-kern
Date: 05/16/2002 08:58:31
In some email I received from Bill Studenmund, sie wrote:
> On Wed, 15 May 2002, David Laight wrote:
>
> > > >
> > > > Maybe. Doing something like that would let us pick our own major numbers
> > > > whereever we wanted. We would have to make sure our major numbers avoided
> > > > all of the vendor ones we emulated, since we can't tell where the device
> > > > node was that was opened.
> > >
> > > Hmmm, that's not as convienient as I hoped it would be.
> > >
> > > But won't netscape being run (say) under solaris emulation try and open
> > > /emul/dev/sd0c first, before /dev/sd0c ? Couldn't you have a per-emulation
> > > table to map major numbers from one to another ? The problem might be how
> > > to get emul information that far down, if this was a good idea.
>
> That's actually not the problem. The problem is that we need to be able to
> boot a new kernel on an old (say a restore of a backup) file system with
> old device nodes. So whatever was say /dev/wd1a needs to still be wd1a.
>
> That means that whatever we've allocated so far for device nodes can't get
> reused. We can make new ones, we just can't reuse what we have used so
> far. We can even make new, replacement ones (a new major/minor for wd1a
> for instance). We just can't reuse old ones.
Hmm, that is a problem. Although I'm the mean kind of person who'd just
declare a flag day and everything one side would work and everything the
other side wouldn't :-)
Then again, does it really matter if the major number for /dev/console is
1048219 or /dev/wd1a has a major number of 390342 ? So long as MAKEDEV
knows what they areit shouldn't be a problem, right ? I mean people don't
go doing "mknod /dev/console c 0 0" (or whatever) just because they've
memorized that, do they, in times of emergencies ?
Darren