Re: RFC: disk geometry via sysfs

From: Phillip Susi
Date: Wed Feb 15 2006 - 15:53:38 EST


linux-os (Dick Johnson) wrote:
If the disc is a modern disk, and the BIOS is modern as well,
it won't care. For instance, if we attempt to seek to cylinder
10, sector 10, and there are only 9 sectors, then the supplied
head number is incremented, the sector to be read becomes 1
(dumb ones based), and everything is fine. If the head number
can't be incremented, it wraps to 0. Problems occur if the BIOS
has been set to "physical" mode for access. In this mode, the
CHS are absolute and "you can't get there from here." In the
physical mode, you can't have more than 1024 cylinders because
they need to fit into 10 bits.

As long as the BIOS is set for LBA, the boot sequence should not
care.


Are you sure? Do all bioses perform this auto correction? I would have thought that they would simply fail the request because you asked for a sector or head that is outside the valid range. Even if some bioses will accept illegal values and auto translate, I doubt that they all do.

And what if you error in the other direction? If the MBR lists a LOWER number of heads than the bios thinks there is? In that case you're going to ask the bios for a larger cylinder number, and it will happily read a sector from the disk that is further from the start than you intended.


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