Bug 133874

Summary: Three errors per second - subfs? - DriveReady SeekComplete Error - ide: failed opcode was: unknown
Product: [openSUSE] SUSE LINUX 10.0 Reporter: Bryce Nesbitt <bryce2>
Component: KernelAssignee: Jeff Mahoney <jeffm>
Status: RESOLVED INVALID QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: dkukawka
Version: Final   
Target Milestone: ---   
Hardware: PC   
OS: Other   
Whiteboard:
Found By: Other Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: Output of "lshal", showing LITE-ON DVDRW SOHW-1693S

Description Bryce Nesbitt 2005-11-15 18:34:04 UTC
When I have a DVD or CD-ROM in the drive, I get three errors per second in /var/log/messages this causes quite a bit of disc activity.
The dvd drive does not need to be accessed, just have a disc in it:

Nov 15 10:08:35 linux kernel: ide: failed opcode was: unknown
Nov 15 10:08:36 linux kernel: hdc: packet command error: status=0x51 { DriveReady SeekComplete Error }
Nov 15 10:08:36 linux kernel: hdc: packet command error: error=0x54 { AbortedCommand LastFailedSense=0x05 }
Nov 15 10:08:36 linux kernel: ide: failed opcode was: unknown
Nov 15 10:08:37 linux kernel: hdc: packet command error: status=0x51 { DriveReady SeekComplete Error }
Nov 15 10:08:37 linux kernel: hdc: packet command error: error=0x54 { AbortedCommand LastFailedSense=0x05 }
Nov 15 10:08:37 linux kernel: ide: failed opcode was: unknown
Nov 15 10:08:38 linux kernel: hdc: packet command error: status=0x51 { DriveReady SeekComplete Error }
Nov 15 10:08:38 linux kernel: hdc: packet command error: error=0x54 { AbortedCommand LastFailedSense=0x05 }
Nov 15 10:08:38 linux kernel: ide: failed opcode was: unknown
Nov 15 10:08:39 linux kernel: hdc: packet command error: status=0x51 { DriveReady SeekComplete Error }
Nov 15 10:08:39 linux kernel: hdc: packet command error: error=0x54 { AbortedCommand LastFailedSense=0x05 }
Nov 15 10:08:39 linux kernel: ide: failed opcode was: unknown
Nov 15 10:08:40 linux kernel: hdc: packet command error: status=0x51 { DriveReady SeekComplete Error }
Nov 15 10:08:40 linux kernel: hdc: packet command error: error=0x54 { AbortedCommand LastFailedSense=0x05 }
Nov 15 10:08:40 linux kernel: ide: failed opcode was: unknown
Nov 15 10:08:41 linux kernel: hdc: packet command error: status=0x51 { DriveReady SeekComplete Error }
Nov 15 10:08:41 linux kernel: hdc: packet command error: error=0x54 { AbortedCommand LastFailedSense=0x05 }
Nov 15 10:08:41 linux kernel: ide: failed opcode was: unknown
Nov 15 10:08:42 linux kernel: hdc: packet command error: status=0x51 { DriveReady SeekComplete Error }
Nov 15 10:08:42 linux kernel: hdc: packet command error: error=0x54 { AbortedCommand LastFailedSense=0x05 }
Nov 15 10:08:42 linux kernel: ide: failed opcode was: unknown

Note that with a DVD, such as the SUSE install DVD, the disc must simply be inserted.  With a CDROM you may have to access the disc to see the errors.

There are some similarities to the report at::
http://lkml.org/lkml/2005/9/21/300
DMA broken in mainline 2.6.13.2 _AND_ opensuse vendor 2.6.13-15

I also have a LITEON SOHW-1693S DVD burner.
Curiously enough mine works fine (burns and reads DVD's just fine).
DMA on or DMA off makes no difference.


linux:/home/bryce # lspci
...
00:04.1 IDE interface: VIA Technologies, Inc.
VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)


linux:/home/bryce # hdparm /dev/hdc
/dev/hdc:
 IO_support   =  1 (32-bit)
 unmaskirq    =  1 (on)
 using_dma    =  0 (off)
 keepsettings =  0 (off)
 readonly     =  0 (off)
 readahead    = 256 (on)
 HDIO_GETGEO failed: Invalid argument


linux:/home/bryce # hdparm -iI /dev/hdc
/dev/hdc:
 Model=LITE-ON DVDRW SOHW-1693S, FwRev=KS0B, SerialNo=
 Config={ Fixed Removeable DTR<=5Mbs DTR>10Mbs nonMagnetic }
 RawCHS=0/0/0, TrkSize=0, SectSize=0, ECCbytes=0
 BuffType=unknown, BuffSize=0kB, MaxMultSect=0
 (maybe): CurCHS=0/0/0, CurSects=0, LBA=yes, LBAsects=0
 IORDY=yes, tPIO={min:227,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4
 DMA modes:  mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 udma2
 AdvancedPM=no
 Drive conforms to: device does not report version:
 * signifies the current active mode

ATAPI CD-ROM, with removable media
        Model Number:       LITE-ON DVDRW SOHW-1693S
        Serial Number:
        Firmware Revision:  KS0B
Standards:
        Used: ATAPI for CD-ROMs, SFF-8020i, r2.5
        Supported: CD-ROM ATAPI-2
Configuration:
        DRQ response: 50us.
        Packet size: 12 bytes
Capabilities:
        LBA, IORDY(cannot be disabled)
        DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 *udma4
             Cycle time: min=120ns recommended=120ns
        PIO: pio0 pio1 pio2 pio3 pio4
             Cycle time: no flow control=227ns  IORDY flow control=120ns



linux:/home/bryce # uname -a
Linux linux 2.6.13-15-default #1 Tue Sep 13 14:56:15 UTC 2005 i686
athlon i386 GNU/Linux


Attempting to disable subfs did nothing:

#/dev/dvd             /media/dvd        auto    noauto,ro,procuid,nosuid,nodev,exec,iocharset=utf8 0 0
/dev/dvd             /media/dvd         subfs   noauto,fs=cdfss,ro,procuid,nosuid,nodev,exec,iocharset=utf8 0 0

linux:/var/log # modprobe -r subfs
FATAL: Module subfs is in use.


linux:> cat /dev/.udevdb/block@hdc

N:hdc
S:disk/by-path/pci-0000:00:04.1-ide-1:0
M:22:0
E:ID_TYPE=cd
E:ID_MODEL=LITE-ON_DVDRW_SOHW-1693S
E:ID_SERIAL=
E:ID_REVISION=KS0B
E:ID_BUS=ata
E:ID_PATH=pci-0000:00:04.1-ide-1:0


rules.d/55-cdrom.rules"
 cdrom links generated by YaST2
#
SUBSYSTEM=="block", ENV{ID_PATH}=="pci-0000:00:04.1-ide-1:1", SYSFS{removable}=="1", SYMLINK+="dvd cdrom"


linux:/etc/udev # udevmonitor
udevmonitor prints the received event from the kernel [UEVENT]
and the event which udev sends out after rule processing [UDEV]

UEVENT[1132078995] mount@/block/hdc
UEVENT[1132078998] umount@/block/hdc



Inserting the same disc into my other DVD drive (which is /dev/hdc) does not cause this problem.

subfs seems to be the problem.  subfs seems to be a problem.
Comment 1 Danny Al-Gaaf 2005-11-17 13:49:11 UTC
> Attempting to disable subfs did nothing:

> #/dev/dvd             /media/dvd        auto   
> noauto,ro,procuid,nosuid,nodev,exec,iocharset=utf8 0 0
> /dev/dvd             /media/dvd         subfs  
> noauto,fs=cdfss,ro,procuid,nosuid,nodev,exec,iocharset=utf8 0 0

Yes thats right. The reason: for all hotplugable storage devices and volumes (CD/DVD ...) this entries are ignored. We mount them automatically with HAL and the hald-subfs-mount helper.

Why should be subfs the problem if this work in your other drive perfect? Could also be a problem with the device.

Could you please attach (as attachment) the output of 'lshal' to the bug?
Comment 2 Bryce Nesbitt 2005-11-17 17:38:07 UTC
Why do I blame subfs?  Because it has caused other trouble -- cd burning trouble -- mount points where I can't see if the drive is full -- constant disc activty.   I've come to dislike subfs, and therefore I blame it first.  I wish I could disable it.
Comment 3 Bryce Nesbitt 2005-11-21 05:19:34 UTC
Created attachment 57832 [details]
Output of "lshal", showing LITE-ON DVDRW SOHW-1693S
Comment 4 Jeff Mahoney 2005-11-21 23:09:26 UTC
Bryce -

With the messages chunk you've included in the report, I can't make a determination as to what causes the initial access of the device. Subfs may well be trying to mount the file system, but since there is no output related to subfs failing a mount or a failed file system mount, there's no indication as to the source of the access.

So, could you attach your entire messages file to the report?
Comment 7 Bryce Nesbitt 2005-11-22 20:21:41 UTC
I'm sad to report that that system died due to hard disk failure (not CDROM failure).  So I can't attach the messages.  Note: three per second sounds like subfs, right?  Who else would check that often?
Comment 8 Jeff Mahoney 2005-11-22 20:48:41 UTC
I think there's a misunderstanding of what subfs actually does here. Subfs isn't a daemon that monitors a device for media - it's actually a very simple chunk of code. It intercepts accesses under a certain mount point and then invokes a userspace helper to mount a file system and then attempt to umount it at one second intervals. If there are open files on the file system, then the umount will fail. The umount can succeed if it falls between an open and a close - like during the middle of a copy. We know subfs isn't perfect and we're working on a better solution for the future.

That said, the errors you're seeing are a hardware problem. Something was injecting bad commands on the ATA bus. Bad hardware, such as a failing disk, can do all sorts of nasty things while they're failing, but not completely dead yet.  

I'm going to close this one INVALID. Once you replace your disk, if you still see this problem, please re-open the bug and we'll give it another look.