tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: vnd geometry
On Tue, Apr 29, 2014 at 04:44:52PM +0100, Patrick Welche wrote:
> On Tue, Apr 29, 2014 at 04:08:02PM +0200, J. Hannken-Illjes wrote:
> > On 29 Apr 2014, at 15:19, Patrick Welche <prlw1%cam.ac.uk@localhost> wrote:
> >
> > <snip>
> > >
> > > One oddity while perusing the code is:
> > >
> > > /*
> > > * Use pseudo-geometry specified. If none was provided,
> > > * use "standard" Adaptec fictitious geometry.
> > > */
> > > if (vio->vnd_flags & VNDIOF_HASGEOM) {
> > >
> > > memcpy(&vnd->sc_geom, &vio->vnd_geom,
> > > sizeof(vio->vnd_geom));
> > >
> > > How can VNDIOF_HASGEOM ever be set?
> >
> > With <geomspec> from vnconfig(8)?
>
> Ah thanks - I just used fxr.watson.org...
>
> It seems that disklabel and plist agree at least for sizes which are
> whole numbers of megabytes, e.g.,
>
> bytes:
> disklabel plist backing_file
> 10485760 10485760 10485760 = A00000
> 136314880 136314880 136314880 = 8200000
> 12761600 12582912 12761760 (this row in hex below)
> C2BA00 C00000 C2BAA0
plist gets its idea of size by multiplying nsectors*ntracks*ncylinders.
disklabel gets its idea of size by rounding down the backing file size
to the nearest number of disk blocks.
I am tempted to set plist's idea to sc_size as per the disklabel.
If I were to do that, I suspect I would break HASGEOM?
OK to change struct vndgeom to add a vng_size member and set it as
appropriate according to HASGEOM? But then VNDIOC{SET,CLR}50 would
break?
Thoughts?
Cheers,
Patrick
Home |
Main Index |
Thread Index |
Old Index