Bug 5290 - ide-scsi: burning broken in all kernels >2.6.9
Summary: ide-scsi: burning broken in all kernels >2.6.9
Status: REJECTED WILL_NOT_FIX
Alias: None
Product: IO/Storage
Classification: Unclassified
Component: SCSI (show other bugs)
Hardware: i386 Linux
: P2 high
Assignee: Mike Anderson
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-09-21 08:20 UTC by Sebastian Kemper
Modified: 2006-04-06 14:36 UTC (History)
5 users (show)

See Also:
Kernel Version: 2.6.13.2
Tree: Mainline
Regression: ---


Attachments

Description Sebastian Kemper 2005-09-21 08:20:09 UTC
Most recent kernel where this bug did not occur: 2.6.9
Distribution: Gentoo
Hardware Environment: Sempron 2400+, Shuttle AN35N  (NForce2), TSSTcorpCD/DVDW
TS-H552U, ATAPI CD/DVD-ROM drive (dvd writer)
Software Environment: dvd+rw-tools-5.21.4.10.8
Problem Description: Whenever trying to burn a disc the burning app stalls.
After a while the whole system comes to a grinding halt.
I can burn fine without ide-scsi. But I still need ide-scsi emulation anyway and
burning should work.
To test with verion of the kernel introduced the bug I installed all kernels
from 2.6.7 up to 2.6.13.2. Burning with ide-scsi worked in 2.6.7, 2.6.8 (as
root) and 2.6.9. All later kernels are affected.

Here are the changes related to ide-scsi in 2.6.10 mentioned in its Changelog:

<hch@lst.de>
	[PATCH] avoid obsolete APIs in ide-scsi
	
	Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>

<bzolnier@trik.(none)>
	[ide] ide-scsi: simplify+speedup DMA support
	
	* add hwif->sg_mapped flag
	* add idescsi_map_sg() converting scsi_cmd->sg into
	  hwif->sg_table (this removes need for rq->bio)
	* remove code (de)allocating rq->bio
	
	Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>

<axboe@suse.de>
	[PATCH] ide-scsi bad queuecommand return
	
	ide-scsi completes a command but returns ownership to the mid layer.
	
	Signed-off-by: Jens Axboe <axboe@suse.de>
	Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>



Steps to reproduce: Get a kernel 2.6.10 or later and try burning a disc. E.g.
"growisofs -dvd-compat -Z /dev/sr0 -J -r /some/dir".

#############################################################################
WARNING: /dev/dvdrw already carries isofs!
About to execute 'mkisofs -J -r /data/sk/rip/Doors | builtin_dd of=/dev/dvdrw
obs=32k seek=0'
Unknown file type (unallocated) /data/sk/rip/Doors/.. - ignoring and
continuing./dev/dvdrw: restarting DVD+RW format...
:-( LUN is impossible to bear with...
#############################################################################
Ok, that one didn't even try :)
Next try:

##############################################################################
WARNING: /dev/dvdrw already carries isofs!
About to execute 'mkisofs -J -r /data/sk/rip/Doors | builtin_dd of=/dev/dvdrw
obs=32k seek=0'
Unknown file type (unallocated) /data/sk/rip/Doors/.. - ignoring and continuing.

###############################################################################

I'll better push "Commit" before my system freezes ;-)

Thanks

Sebastian
Comment 1 Andrew Morton 2005-09-21 10:21:13 UTC
Guys, lots of people seem to still use ide-scsi and it's quite busted.

Is there some way in which we can make it simply unavailable for things
like CDROMS?   Bind it to the ide-tape driver and to nothing else,
stop misleading people?   Or fix it?
Comment 2 Sebastian Kemper 2005-09-21 10:38:15 UTC
Hello,

please don't remove it yet. Some of us want to use it for CDDA extraction. IDE
simply can't beat ide-scsi there yet (sometimes using ide just makes cdparanoia
stall whereas ide-scsi works fine; also some of use need it for Wine).

Sebastian
Comment 3 Jens Axboe 2005-09-22 02:27:50 UTC
Fixing ide-cd for the remaining cases would be the best option. ide-scsi already
prints a warning if attached to a CD device:

ide-scsi is deprecated for cd burning! Use ide-cd and give dev=/dev/hdX as device

I have no motivation to work on ide-scsi anymore.
Comment 4 Bartlomiej Zolnierkiewicz 2005-09-22 03:08:59 UTC
Sebastian, could you narrow down the bug to the specific -rc version and then to
a snapshot version?

http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.10-rc*.bz2
http://kernel.org/pub/linux/kernel/v2.6/snapshots/old/patch-2.6.10-*.bz2

Thanks!

[ Or is there a better method to track pre-git-era regressions, Andrew? ]
Comment 5 Sebastian Kemper 2005-09-22 03:52:36 UTC
Hi Bartlomiej!

Will do.

S.
Comment 6 Sebastian Kemper 2005-09-22 05:21:30 UTC
Hi!

I installed 2.6.9 and it worked. Then I patched it to -rc1 and it didn't work.
So then I went from 2.6.9 incrementally to 2.6.9-bk4. That's where it doesn't
work anymore.

2.6.9-bk3 works
(http://kernel.org/pub/linux/kernel/v2.6/snapshots/old/patch-2.6.9-bk3.bz2)
2.6.9-bk4 doesn't work
(http://kernel.org/pub/linux/kernel/v2.6/snapshots/old/patch-2.6.9-bk4.bz2)

I hope this helps a little. If there's more to try just tell me.

Cheers

S.
Comment 7 Sebastian Kemper 2005-09-22 05:23:09 UTC
Oh, I catched some syslog messages, maybe they're a pointer in the right direction:

Sep 22 14:05:29 mean_machine cdrom: sr0: mmc-3 profile capable, current profile: 1Ah
Sep 22 14:06:36 mean_machine hdc: DMA timeout retry Sep 22 14:06:36 mean_machine
hdc: timeout waiting for DMA
Sep 22 14:06:36 mean_machine hdc: status timeout: status=0xd0 { Busy }
Sep 22 14:06:36 mean_machine hdc: status timeout: error=0x40LastFailedSense
0x04Sep 22 14:06:36 mean_machine hdc: drive not ready for command
Sep 22 14:06:36 mean_machine hdc: status timeout: status=0xd0 { Busy }
Sep 22 14:06:36 mean_machine hdc: status timeout: error=0x40LastFailedSense 0x04
Sep 22 14:06:36 mean_machine hdc: drive not ready for command
Sep 22 14:06:36 mean_machine hdc: status timeout: status=0xd0 { Busy }
Sep 22 14:06:36 mean_machine hdc: status timeout: error=0x40LastFailedSense
0x04Sep 22 14:06:36 mean_machine hdc: drive not ready for command
Sep 22 14:06:36 mean_machine hdc: status timeout: status=0xd0 { Busy }
Sep 22 14:06:36 mean_machine hdc: status timeout: error=0x40LastFailedSense
0x04Sep 22 14:06:36 mean_machine hdc: drive not ready for command
Sep 22 14:06:36 mean_machine ide-scsi: No active request in idescsi_eh_reset
Sep 22 14:06:36 mean_machine scsi: Device offlined - not ready after error
recovery: host 0 channel 0 id 8 lun 0
Sep 22 14:06:36 mean_machine SCSI error : <0 0 8 0> return code = 0x2
Sep 22 14:06:36 mean_machine scsi0 (8:0): rejecting I/O to offline device
Sep 22 14:06:36 mean_machine scsi0 (8:0): rejecting I/O to offline device
Sep 22 14:06:36 mean_machine SCSI error: host 0 id 8 lun 0 return code =
4000000Sep 22 14:06:36 mean_machine    Sense class 0, sense error 0, extended
sense 0

Cheers

S.
Comment 8 Bartlomiej Zolnierkiewicz 2005-09-22 05:30:55 UTC
Answering my own question:

there is bkcvs git repo:
http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=summary
Comment 9 Bartlomiej Zolnierkiewicz 2005-09-22 05:44:47 UTC
If you are going to use git bkcvs tree you can use git-bisect

http://linux.yyz.us/git-howto.html
http://www.kernel.org/pub/software/scm/git/docs/git-bisect.html
http://www.livejournal.com/users/kernelslacker/22371.html
Comment 10 Andrew Morton 2005-09-22 11:58:16 UTC
bugme-daemon@kernel-bugs.osdl.org wrote:
>
>  [ Or is there a better method to track pre-git-era regressions, Andrew? ]

Not really.  bisecton searching with BK is really hard and the client is
payware now anwyay.

Sometimes you can go back to the relevant -mm and bsearch through the
broken-out patches, but that probably won't work very well if it was an IDE
patch, as IDE patches tend not to be present in -mm kenrels in broken out
form.


Comment 11 Sebastian Kemper 2005-10-14 21:44:10 UTC
Hi all!   
   
I'd like to just close this bug now.  
 
I appreciate the effort that has been put into the possibility to use all 
cd-roms with IDE instead of having to use an emulation layer (ide-scsi) for 
burning. So getting rid off ide-scsi seems perfectly natural and I don't really 
want to object that. So no hard feelings.  Can you guys please close this 
report in case you're okay with it? 
  
Thanks for your input!  
  
Cheers  
  
Sebastian  

Note You need to log in before you can comment on or make changes to this bug.