Thanks for that Andrew.
I guess my current USB problems are slightly odd. I've seen similar reports on the web, but none that seem directly related.
As background then, my USB fileserver setup has been fine for at least a year - no issues at all.
I'm running a standard Sheevaplug with Debian squeeze, and just take all the updates when they come.
I have a four bay DAS400 USB enclosure, as above, and all bays are populated with 500GB disks.
Now...about a month ago I got my first issue where copying a large-ish file over to a Samba share on one of the drives from Windows - it stopped mid-way, and then errored out. That's what I've seen again, twice, more recently. I say "large-ish", but the files in question were about 350-400MB, and are the sort of files I've been copying over without problem for the last year.
This is what have in /var/log/messages at the point of failure:
Jun 17 19:20:58 plug1 kernel: [268869.342387] usb 1-1: reset high speed USB device using orion-ehci and address 2
Jun 17 19:21:08 plug1 kernel: [268879.612068] usb 1-1: reset high speed USB device using orion-ehci and address 2
Jun 17 19:21:13 plug1 kernel: [268884.881907] usb 1-1: reset high speed USB device using orion-ehci and address 2
Jun 17 19:21:24 plug1 kernel: [268895.151589] usb 1-1: reset high speed USB device using orion-ehci and address 2
Jun 17 19:21:24 plug1 kernel: [268895.302115] sd 0:0:0:2: Device offlined - not ready after error recovery
Jun 17 19:21:24 plug1 kernel: [268895.308957] sd 0:0:0:2: [sdc] Unhandled error code
Jun 17 19:21:24 plug1 kernel: [268895.313876] sd 0:0:0:2: [sdc] Result: hostbyte=DID_ABORT driverbyte=DRIVER_OK
Jun 17 19:21:24 plug1 kernel: [268895.321144] sd 0:0:0:2: [sdc] CDB: Write(10): 2a 40 1b 0a fc ff 00 00 f0 00 00 00
Jun 17 19:21:24 plug1 kernel: [268895.334770] __ratelimit: 37 callbacks suppressed
Jun 17 19:21:24 plug1 kernel: [268895.345886] lost page write due to I/O error on sdc1
Jun 17 19:21:24 plug1 kernel: [268895.357363] lost page write due to I/O error on sdc1
Jun 17 19:21:24 plug1 kernel: [268895.368835] lost page write due to I/O error on sdc1
Jun 17 19:21:24 plug1 kernel: [268895.380310] lost page write due to I/O error on sdc1
Jun 17 19:21:24 plug1 kernel: [268895.391787] lost page write due to I/O error on sdc1
Jun 17 19:21:24 plug1 kernel: [268895.403253] lost page write due to I/O error on sdc1
Jun 17 19:21:24 plug1 kernel: [268895.414721] lost page write due to I/O error on sdc1
Jun 17 19:21:24 plug1 kernel: [268895.426188] lost page write due to I/O error on sdc1
Jun 17 19:21:24 plug1 kernel: [268895.437654] lost page write due to I/O error on sdc1
Jun 17 19:21:24 plug1 kernel: [268895.449120] lost page write due to I/O error on sdc1
Jun 17 19:21:24 plug1 kernel: [268895.928090] JBD: Detected IO errors while flushing file data on sdc1
Jun 17 19:21:26 plug1 kernel: [268897.547852] JBD: Detected IO errors while flushing file data on sdc1
If I login then sometimes the mounted drive, sdc, is just unavailable, and sometimes it is mounted read-only. umounting it nearly always gets a "can't because it's in use" response, and the only real way to get it working properly again is to unplug/replug the USB cable to the Sheeva.
I think the disks do spin-down in the enclosure, but I don't do anything active to control or activate this, and I certainly haven't changed anything setup-wise in this area.
I've fsck-ed the particular disk in the enclosure twice now, and it isn't showing any issues at all - it has always been the same disk, but then I use the partition there most for these large files.
I've also changed the USB cable, but more out of hope than expectation.
In all of the above I'm not sure whether to suspect the enclosure, the Sheeva USB interface, the hard disk or something else, hence my thinking about an eSATA solution with a new Sheevaplug and eSATA 4-bay enclosure. Most postings related to the above log out suggest the drive is on its way out, but fsck doesn't seem to agree in my case.
Everything's working fine now with my current USB setup, and I've copied the last problematic file over without issue, but I just know it's waiting to go wrong again...