Most of the large drives have more than 32767 cylinders, which display in /etc/sysconfig/hwconf as negative numbers.
Some also have more than 65,535 cylinders, which exceeds the limit of the unsigned short that you propose. It seems to me that there is already a need to move to 32-bit for this value - and, since negative numbers make no sense here, we should switch to unsigned at the same time.
The values in /etc/sysconfig/hwconf are taken from /proc/ide/<device>/geometry... they come straight from the kernel.
Assigned to dledford
The kernel also had problems with IDE drives with more than 64k cylinders, until version 2.2.14. The recent errata kernels are 2.2.14 and 2.2.16 so they're OK, but in order to install onto a large drive (e.g., Maxtor 60G), boot images with the newer kernel would be needed. Any chance of new boot images showing up in Updates in the near future?