Re: hd_geometry question.

From: jw schultz (jw@pegasys.ws)
Date: Tue Jul 02 2002 - 05:50:36 EST


On Tue, Jul 02, 2002 at 11:16:06AM +0200, Martin Schwidefsky wrote:
>
> >About a partition one wants to know start and length.
> >About a full disk one wants to know size, and perhaps a (fake) geometry.
> >
> >The vital partition data cannot depend on obscure hardware info.
> >So, the units used must be well-known. Earlier, everything was in
> >512-byte sectors, but there are a few places where that is inconvenient
> >or unnatural, and now that one has more than 2^32 sectors and 64 bits
> >are needed anyway, things are measured in bytes.
> >
> >That the start field comes with the HDIO_GETGEO ioctl and the size with
> >the BLKGETSIZE ioctl is due to history. Both are given in 512-byte sectors.
> >BLKGETSIZE64 gives bytes.
>
> Just to make sure I got that right, HDIO_GETGEO delivers a FAKE geometry
> based on the assumption that the sector size is 512 bytes ?

Fake because almost all non-removable disks made in the last
decade have not had a fixed number of sectors per track. If
the disk accepts positioning based on head,cylinder,sector
it has to be translated by the controller (the circuit board
attached to the drive) into a linear address and then into
the real h,c,s values.

Geometry info is mostly a relic from before zone recording
when filesystems were tuned for geometry and when drives
didn't accept linear addressing. Andre will probably come
back with a list of drives that still don't accept linear
addresses ;-).

More on this fakeness of geometry belongs offline as it is OT.

-- 
________________________________________________________________
	J.W. Schultz            Pegasystems Technologies
	email address:		jw@pegasys.ws

Remember Cernan and Schmitt - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Jul 07 2002 - 22:00:09 EST