Quote:
Originally Posted by thomas
I still don't see a reason why a (hard drive) file system would need to call TD_GETGEOMETRY. Scsi.device does not even support TD_GETGEOMETRY.
|
Forget it, I thought it was needed.
Quote:
Do these old controllers with crashing drivers support disks bigger than 4GB? If they don't, the discussion is pointless.
|
Good point, but see below.
Quote:
1. calculate the last block of the partition. If it is inside the first 4GB of the drive, use CMD_READ and CMD_WRITE. No 64 bit or SCSI support needed.
|
A590 with pre-7.0 ROM and CDTV SCSI expansion (all available ROM versions) have 1G limit (returns error if >1G access) when using CMD_READ/WRITE but HD_SCSICMD is "unlimited".
AFAIK there are also other old true SCSI controllers that convert CMD_READ/WRITE to SCSI Read(6) and Write(6) which has 1G limit. HD_SCSICMD and Read/Write(10) works fine, even if drive is >4G. (But on the other hand some controllers simply hang if drive is too big..)
This is the remaining annoying problem.
ADDED: I guess this should work: if end of partition is <4G and CMD_READ fails, re-read using HD_SCSICMD SCSI Read(6). Select DS if it succeeds.