Re: Checking a USB drive's capacity

Alan Stern
2008-12-19T04:33:20Z

On Thu, 18 Dec 2008, Alan Cox wrote:

> > spun up yet. Not to mention that it seems strange to read the last
> > sector before reading the first!
>
> The SCSI CD code deals with this by spotting the error is close to the
> end and of particular types then interpreting it and adjusting the volume
> size. This is done because the size value for a CD-R/RW is imprecise.

Although it may be okay for CDs, I suspect that approach won't work for
disks.

For one thing, this would cause the volume size to change after the
partition table had been read and interpreted, which doesn't seem like
a good idea.

For another, it would cause the location of the "last" sector to change
in mid-flight, which might well cause problems for programs like vol_id
and hald_probe_storage -- they need to read the last sector to
determine if the volume is part of a RAID array.

Now maybe these objections won't matter; the code in each case might be
resilient enough to handle such changes. Do you think it could work?

Alan Stern