hd_geometry question.

From: Martin Schwidefsky (schwidefsky@de.ibm.com)
Date: Mon Jul 01 2002 - 11:02:07 EST


Hi,
I have a question about the start field in the hd_geometry structure. We used

        geo->start = device->major_info->gendisk.part[MINOR(kdev)].start_sect
>> device->sizes.s2b_shift;

in the old dasd driver but now we use

        geo.start = get_start_sect(kdev);

to set the start field. One variant is wrong because the start sector differ if
the block size is not 512 byte. The first variant calculates the start sector
based on physical blocks (e.g. with 4096 bytes instead of 512 bytes). The
second variant calulcates a "soft" start sector based on logical 512 byte
blocks. Whats correct, first or second variant ?? I tend to favor the first
variant because struct hd_geometry describes the physical geometry
(number of heads, sectors, cylinders and start sector) but I am not 100%
sure about it.

blue skies,
  Martin.

-
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:07 EST