Subject: Re: disklabeling a 5 TB partition!?
To: None <M.Drochner@fz-juelich.de>
From: Greg Oster <oster@cs.usask.ca>
List: current-users
Date: 08/04/2006 10:21:05
Matthias Drochner writes:
> 
> mk@kilbi.de said:
> > Both do not change the limited (1666108800) size/usage of raid0, the
> > kernel still maintains its (wrong) idea of the (imited) disk size.
> 
> You've got 2 problems (at least:-):
> 1. The rf driver clips the disk size to a 32-bit value:
>    hex(10256043392) = 2634ECD80
>    dec(634ECD80) = 1666108800
>    As I see it, on a 64-bit system it should be mostly harmless,
>    just warnings, as long as you avoid the disklabel.
>    (The "size_t" in sc_size is clearly a mistake, appearently copied
>    from cgd/dksubr. But that would affect 32-bit systems only.)

good catch...  The only place sc_size gets used though is in checking 
the validity of an existing disklabel, so if no label is used, sc_size
shouldn't get in the way... (raidPtr->totalSectors is a 64-bit value...)

> 2. newfs looks at the disklabel. If there isn't a physical one, it gets
>    the default one with the values clipped as written above.
>    You could try with the "-F" flag.

It'll get clipped in raidgetdefaultlabel() with this:

 lp->d_secperunit = raidPtr->totalSectors;

where the former is explicitly 32-bits, and the latter 64. :(
So sc_size can be fixed easily, but the d_secperunit is where we 
really get bitten.. :( 

Later...

Greg Oster