Re: [PATCH] pdcraid and weird IDE geometry

Andries Brouwer
2003-07-18T08:43:17Z

On Thu, Jul 17, 2003 at 07:33:00PM -0700, Walt H wrote:

> OK. Just got home from work. I've tried booting and specifying geometry
> via hdg=79780,16,63 hdg=noprobe etc... The geometry is accepted,
> however, drive access fails when trying to read the disk. This geometry
> is the geometry reported by hde (my old drive without screwy geometry).
> The code in calc_pdcblock_offset to calculate the offset is unchanged
> in my patch (except the date type conversion to float) and calls
> get_info_ptr for geometry.

I don't understand. Did you introduce some float? Remove it immediately.

You just replace

lba = (ideinfo->capacity / (ideinfo->head*ideinfo->sect));
lba = lba * (ideinfo->head*ideinfo->sect);
lba = lba - ideinfo->sect;

by

lba = ideinfo->capacity - 63;

Then everything works for you, I suppose.
Subsequently we wait for other people with the same hardware
and see how the 63 varies as a function of their setup.
(Or maybe you can go into the BIOS and specify different
translations yourself?)

(By the way, didnt your boot parameters lead to ideinfo->head = 16
and ideinfo->sect = 63?)

Andries