Bug 9290

Summary: "Fix ATAPI transfer lengths" causes CD writing regression
Product: IO/Storage Reporter: Rafael J. Wysocki (rjwysocki)
Component: Serial ATAAssignee: Jeff Garzik (jgarzik)
Status: CLOSED WILL_NOT_FIX    
Severity: normal CC: alan, dsd, htejun
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: commit 2db78dd302d26d242d3e8e5c4c5024b6c3ea93c2 Subsystem:
Regression: --- Bisected commit-id:

Description Rafael J. Wysocki 2007-11-02 09:46:06 UTC
Subject         : "Fix ATAPI transfer lengths" causes CD writing regression
Submitter       : Daniel Drake <dsd@gentoo.org>
References      : http://lkml.org/lkml/2007/10/30/242
Handled-By      : Alan Cox <alan@lxorguk.ukuu.org.uk>
                  Jens Axboe <jens.axboe@oracle.com>
                  Jeff Garzik <jeff@garzik.org>
                  Tejun Heo <htejun@gmail.com>
Comment 1 Rafael J. Wysocki 2007-11-02 09:47:52 UTC
Caused by:

commit 2db78dd302d26d242d3e8e5c4c5024b6c3ea93c2
Author: Alan Cox <alan@lxorguk.ukuu.org.uk>
Date:   Tue Oct 2 13:53:04 2007 -0700

     libata_scsi: Fix ATAPI transfer lengths

http://git.kernel.org/gitweb.cgi?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2db78dd302d26d242d3e8e5c4c5024b6c3ea93c2
Comment 2 Alan 2007-11-02 10:29:48 UTC
This is a bug caused by a combination of a drive firmware bug and an application trying to be too clever. The fact it now fails is a feature not a bug and good news as the alternatives could be silent lossage.

This is not therefore properly characterised as a regression but a bugfix.
Comment 3 Daniel Drake 2007-12-02 13:06:31 UTC
Tejun Heo discovered this bug was in the userspace software sending the I/O request - it missed a byte, likely due to confusing layout in the scsi specs, causing the length to be wrong. Sorry for the noise!