Subject: Re: dev_t changes & partitions
To: Charles M. Hannum <mycroft@mit.edu>
From: Todd Vierling <tv@NetBSD.ORG>
List: tech-kern
Date: 01/16/1998 06:22:13
On 15 Jan 1998, Charles M. Hannum wrote:

: > : Dude, have you actually been reading what I wrote?  Pretend I'm a
: > : user.  I install a snapshot, or I rebuild everything and install it.
: > : I run MAKEDEV to add a new disk and newfs(8) it.  Oops; I trashed the
: > : wrong disk because I didn't reinstall MAKEDEV.
: > 
: > Um, you never rebuilt with 32 bit nodes, so you're still using 16 bit nodes.
: > These are translated with the compatibility code.  `Where's the breakage?'
: 
: So, this is a prime example of why I'm getting agitated at you:
: 
: I *specifically* said `I run MAKEDEV to add a new disk'.  Did you read
: that?  If you did, then it should be obvious that the (old, which I
: pointed out in text you didn't quote) MAKEDEV just wrote a `32-bit'
: device node using the old major and minor number.  (So it's now
: pointing to the wrong disk device.  When I run newfs(8), it blows away
: my other disk.)

The point I'm making is,

*why are you using a new MAKEDEV and an old mknod, or a new mknod and an old
MAKEDEV?*

If this is the only problem you see, causing all of this commotion, I
propose this--which is far less trouble than fiddling with the minor bits
like you propose:

- change mknod(8) NOW to accept two command line options to define the
  number of contiguous major and minor bits (this will also win us the
  ability to create nodes to NFS-export to other systems)
- update all the MAKEDEV scripts NOW to make use of this new option and
  deliberately make 16-bit nodes
- tell people thrice to upgrade both NOW or they will break when the move
  happens
- when the nodes `update' to 32 bits, the MAKEDEV scripts will work in one
  of two modes: `old mode' (creates the well-known 16 bit nodes) and
  `new mode' (creates the 32 bit nodes).  No matter whether they update
  MAKEDEV or not, it works.

Yes, I'm militantly for cleaner coding over support.  But I have nothing
against backwards compatibility.  This gives us *BOTH*.

=====
===== Todd Vierling (Personal tv@pobox.com) =====
== "There's a myth that there is a scarcity of justice to go around, so
== that if we extend justice to 'those people,' it will somehow erode the
== quality of justice everyone else receives."  -- Maria Price