2.6.0-test1: random errors for USB disk
A message that is not in the archive (sent off-list or not yet received): [email protected]
Quoted 9 lines · Harald Dunkel
Quoted 8 lines · Harald Dunkel
Quoted 6 lines · Alan Stern
Did you say that this worked correctly under 2.4.22? If it does, could you send the equivalent system log (with usb-storage debugging enabled) showing what happens when you create a filesystem and everything works right?
Quoted 5 lines
Quoted 3 lines
The rebuild is running. But the last working version I have is 2.4.21 plus the USB patches of June 20th. Is it OK to start with this version?
See attachment.
The information in your system logs is very clear. Your USB drive worked just great until it received a big data transfer.
Under 2.4, the largest WRITE transfer was 130048 bytes and it worked fine. Under 2.6, the largest attempted WRITE transfer was 524288 bytes and it crashed the drive. The two commands were otherwise identical.
Presumably differences in the block I/O systems account for the difference in buffer sizes. But I don't know of any way to tell Linux that the drive is unable to accept data transfers larger than some fixed limit.
Can anyone else suggest a way to solve this?
Alan Stern
Quoted 4 lines · Alan Stern
The information in your system logs is very clear. Your USB drive worked just great until it received a big data transfer.
Under 2.4, the largest WRITE transfer was 130048 bytes and it worked fine. Under 2.6, the largest attempted WRITE transfer was 524288 bytes and it crashed the drive. The two commands were otherwise identical.
Just to clarify: there's another difference, and that's that 2.4 does doing that smaller write one page at a time (write, wait, write, wait,...) while 2.6 does it all at once (write, write, write, write, ... wait).
That difference is how I've seen usb-storage top 30 MByte/sec on USB with 2.6 kernels, when 2.4 may not reach 10 MB/sec on the same hardware.
- Dave
Quoted 9 lines
Presumably differences in the block I/O systems account for the difference in buffer sizes. But I don't know of any way to tell Linux that the drive is unable to accept data transfers larger than some fixed limit.
Can anyone else suggest a way to solve this?
Alan Stern
Quoted 8 lines · David Brownell
Quoted 4 lines · Alan Stern
The information in your system logs is very clear. Your USB drive worked just great until it received a big data transfer.
Under 2.4, the largest WRITE transfer was 130048 bytes and it worked fine. Under 2.6, the largest attempted WRITE transfer was 524288 bytes and it crashed the drive. The two commands were otherwise identical.
Quoted 7 lines
Just to clarify: there's another difference, and that's that 2.4 does doing that smaller write one page at a time (write, wait, write, wait,...) while 2.6 does it all at once (write, write, write, write, ... wait).
That difference is how I've seen usb-storage top 30 MByte/sec on USB with 2.6 kernels, when 2.4 may not reach 10 MB/sec on the same hardware.
I am using the disk in question to do backups of my $HOME. On 2.4.21 it was written with an amazing speed of about 20 MByte/sec, which I had never expected. I could live with 10, if it is reliable.
Regards
Harri