Bug 2915
Summary: | USB2 Mass Storage Device writing problems on x86-64 | ||
---|---|---|---|
Product: | IO/Storage | Reporter: | Heikki Orsila (heikki.orsila) |
Component: | SCSI | Assignee: | Andi Kleen (andi-bz) |
Status: | REJECTED WILL_NOT_FIX | ||
Severity: | high | ||
Priority: | P2 | ||
Hardware: | i386 | ||
OS: | Linux | ||
Kernel Version: | 2.6.6-2.6.7 | Subsystem: | |
Regression: | --- | Bisected commit-id: |
Description
Heikki Orsila
2004-06-18 13:18:35 UTC
The server gives me internal error before submitting the whole message. Always stops at the same location, see the last kernel log line that came. Here is the relevant information as addition: Jun 16 23:38:15 e275d ehci_hcd 0000:00:10.4: VIA Technologies, Inc. USB 2.0 Jun 16 23:38:15 e275d ehci_hcd 0000:00:10.4: irq 21, pci mem ffffff00000bd000 Jun 16 23:38:15 e275d ehci_hcd 0000:00:10.4: new USB bus registered, assigned bus number 1 Jun 16 23:38:15 e275d ehci_hcd 0000:00:10.4: USB 2.0 enabled, EHCI 1.00, driver 2004-May-10 Jun 16 23:38:15 e275d hub 1-0:1.0: USB hub found Jun 16 23:38:15 e275d hub 1-0:1.0: 8 ports detected Jun 16 23:38:15 e275d ohci_hcd: 2004 Feb 02 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI) Jun 16 23:38:15 e275d ohci_hcd: block sizes: ed 80 td 96 Jun 16 23:38:15 e275d USB Universal Host Controller Interface driver v2.2 Jun 16 23:38:15 e275d uhci_hcd 0000:00:10.0: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller Jun 16 23:38:15 e275d uhci_hcd 0000:00:10.0: irq 21, io base 000000000000d400 Jun 16 23:38:15 e275d uhci_hcd 0000:00:10.0: new USB bus registered, assigned bus number 2 Jun 16 23:38:15 e275d hub 2-0:1.0: USB hub found Jun 16 23:38:15 e275d hub 2-0:1.0: 2 ports detected Jun 16 23:38:15 e275d uhci_hcd 0000:00:10.1: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (#2) Jun 16 23:38:15 e275d uhci_hcd 0000:00:10.1: irq 21, io base 000000000000d800 Jun 16 23:38:15 e275d uhci_hcd 0000:00:10.1: new USB bus registered, assigned bus number 3 Jun 16 23:38:15 e275d hub 3-0:1.0: USB hub found Jun 16 23:38:15 e275d hub 3-0:1.0: 2 ports detected Jun 16 23:38:15 e275d uhci_hcd 0000:00:10.2: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (#3) Jun 16 23:38:15 e275d uhci_hcd 0000:00:10.2: irq 21, io base 000000000000dc00 Jun 16 23:38:15 e275d uhci_hcd 0000:00:10.2: new USB bus registered, assigned bus number 4 Jun 16 23:38:15 e275d hub 4-0:1.0: USB hub found Jun 16 23:38:15 e275d hub 4-0:1.0: 2 ports detected Jun 16 23:38:15 e275d uhci_hcd 0000:00:10.3: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (#4) Jun 16 23:38:15 e275d uhci_hcd 0000:00:10.3: irq 21, io base 000000000000e000 Jun 16 23:38:15 e275d uhci_hcd 0000:00:10.3: new USB bus registered, assigned bus number 5 Jun 16 23:38:15 e275d hub 5-0:1.0: USB hub found Jun 16 23:38:15 e275d hub 5-0:1.0: 2 ports detected Jun 16 23:38:15 e275d usbcore: registered new driver usblp Jun 16 23:38:15 e275d drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver Jun 16 23:38:15 e275d Initializing USB Mass Storage driver... Jun 16 23:38:15 e275d usbcore: registered new driver usb-storage Jun 16 23:38:15 e275d USB Mass Storage support registered. Jun 16 23:38:15 e275d usbcore: registered new driver usbhid Jun 16 23:38:15 e275d drivers/usb/input/hid-core.c: v2.0:USB HID core driver Software Environment: Linux version 2.6.7 (root@e275d) (gcc version 3.3.3 20040217 (Gentoo Linux 3.3.3, propolice-3.3-7)) Problem Description: Writing on USB2 Mass Storage device through SCSI layer freezes a short time after writing. Top shows heavily increased load but no process on the top seems to take that CPU time. This happened with an USB2 plugged hard disk. The kernel has no patches. Also, there are no third party drivers. Pure 2.6.7 Vanilla. Reading from the same USB2 hard disk causes no problems. I was trying to write on a VFAT device. Writing on the same disk on the other machine on 2.4.26 with USB1 didn't cause any problems. Kernel log says: Jun 16 23:49:41 e275d scsi: Device offlined - not ready after error recovery: h\ ost 4 channel 0 id 0 lun 0 Jun 16 23:49:41 e275d SCSI error : <4 0 0 0> return code = 0x50000 Jun 16 23:49:41 e275d end_request: I/O error, dev sdd, sector 471193 Jun 16 23:49:41 e275d Buffer I/O error on device sdd1, logical block 471130 Jun 16 23:49:41 e275d lost page write due to I/O error on sdd1 Jun 16 23:49:41 e275d scsi4 (0:0): rejecting I/O to offline device Jun 16 23:49:41 e275d Buffer I/O error on device sdd1, logical block 471131 Jun 16 23:49:41 e275d lost page write due to I/O error on sdd1 Jun 16 23:49:41 e275d Buffer I/O error on device sdd1, logical block 471132 Jun 16 23:49:41 e275d lost page write due to I/O error on sdd1 ... Jun 16 23:49:41 e275d Buffer I/O error on device sdd1, logical block 471139 Jun 16 23:49:41 e275d lost page write due to I/O error on sdd1 Jun 16 23:49:41 e275d scsi4 (0:0): rejecting I/O to offline device Jun 16 23:49:41 e275d scsi4 (0:0): rejecting I/O to offline device Jun 16 23:49:41 e275d scsi4 (0:0): rejecting I/O to offline device ... many thousand lines of reject. Steps to reproduce: Plug a hard disk with USB2. Create a filesystem with mkfs.vfat, start writing to a file, say dd if=/dev/zero of=/mnt/usb2/foobar. Soon after write buffers are started to be flushed on the disk the writing stops and machine load increases by 2-3. Writing small amounts of data does not cause problems even if written on the disk. I had similar problems ("rejecting I/O to offline device") with my USB hard drive on x86. They were solved by _not_ compiling "SCSI generic" support (CONFIG_CHR_DEV_SG) either into the kernel or as a module (following the discussion in bug 1827). Does it work for you too? Georgios, I will try that later and report here. Thanks in advance. There have been lots of changes in that subsystem. I will assume for now it's fixed. If not please reopen and assign to USB maintainers instead. The side-effect that load starts to increase doesn't happen anymore with linux kernel 2.6.12. But USB2 doesn't still work perfectly. Now I'm able to write approximately 60 to 120 GiB before I get problems: scsi4 (0:0): rejecting I/O to dead device FAT: FAT read failed (blocknr 44749) scsi4 (0:0): rejecting I/O to dead device ... I will file another bug report when I've made some more tests. Now USB2 is only annoying, but at least it works a little because I can write relatively large amounts of data before failure. |