Messages in this thread | | | Date | Wed, 2 Apr 2008 10:15:45 -0400 (EDT) | From | Alan Stern <> | Subject | Re: usb-storage, error reading the last 8 sectors, regression in 2.6.25-rc7 |
| |
On Wed, 2 Apr 2008, Hans de Goede wrote:
> Maybe we should first determine that the regression is _really_ > caused by this? > > When testing yesterday I did a printk of any (unmodified) reads which would > touch the last sector and quite a few where not 8 sector reads, so if this > devices goes barf on any last sector including read of a different size then 8, > it will have troubles without the work around too. > > First we need to determine what _exactly_ causes this device to become unhappy > (which should be trivial to test through dd), if I understand things sofar, the > device doesn't like if a read is done which stops one sector short of the last > sector. Such a read being done could happen without my split requests code > too, so making that conditional then wouldn't do any good, it would only make > the bug (much) less likely to get triggered, but it could still happen en > probably be reproduced by a trivial dd command.
That's a good point. Sergey, by using the "skip=" option in dd you should be able to test lots of possible combinations. Verify that if you start 8 sectors from the end, then reading 8 sectors works and reading 7 sectors fails. Then see what other combinations fail; for example, how far back before the end do you have to start before reading 7 sectors will work? Or what happens if you start 2 sectors before the end and read 1 or 2 sectors? Or if you start 7 sectors before the end and read 6 or 7?
Alan Stern
| |