Subject: Re: dev_t changes & partitions
To: <>
From: Henry W Miller <>
List: tech-kern
Date: 01/15/1998 09:34:00
On 14 Jan 1998, Charles M. Hannum wrote:
> Bill Studenmund <> writes:
> > But with any of the changing schemes, how do we tell a changed dev_t from
> > an unchanged dev_t? If it's a 16-bit or 32-bit dev_t seems like an easy
> > clue to me.
> The dev_t type itself is already 32 bits.  As is the field in FFS.
> How, exactly, do you intended to differentiate between a so-called
> `16-bit dev_t' and a so-called `32-bit dev_t'?  *They're the same size
> in core.*
> > I think I missed your proposal for re-numbering. I did see the one for
> > going to 32-bit dev_t's.
> Honestly, I think you weren't paying attention.  My proposal includes
> all old device numbers within the same encoding scheme as any new
> device numbers.  The proposal for renumbering is essentially to
> deprecate the old 256 major numbers, and shift the major numbers up by
> 256.  [In reality, you could just deprecate the major numbers formerly
> used by disk drivers, since none of the other minor number encodings
> will change. [*]] There's no need to do these at the same time; the
> move to the new encoding can be done at any time, because it doesn't
> change the actual encoding or the meaning of any existing device
> numbers.

If we deprecate old major nmbers, can we have the kernel look for the new
major number for a device, and if there is a new style major pointing to
the device then ignore any old style major numbers that might exists on
the disk?  As others have pointed out, it is sometimes nessicary to move
back to an old kernel when serious bugs show up.  (don't they always wait
until after beta finishes?)  

I guess one potential problem with this would be if the old kernels seee
the new_style major (perhaps in corrupted form) and either trys to fix
them, or barfs on them.

       |\      _,,,---,,_    
 ZZZzz /,`.-'`'    -.  ;-;;,_   |  Isn't there always a cat    | Henry
      |,4-  ) )-,_. ,\ (  `'-'  |  on whatever you're reading? | Miller
     '---''(_/--'  `-'\_)