patch to fix burncd bug
alexbestms at math.uni-muenster.de
Fri Jan 9 06:12:14 PST 2009
the actual problem is that the return value EBUSY got overwritten in
sys/dev/ata/ata-queue.c. so even when the device returns EBUSY the ioctl call
returned EIO. what your patch does is to wait for a specific time until it
gives up calling ioctl(fd, CDIOCEJECT). with the changes to
sys/dev/ata/atapi-cd.c the EBUSY return value doesn't get overwritten anymore.
now when an ioctl call returns EIO you don't have to repeat doing the ioctl.
EIO really means EIO! only if the return value is EBUSY you have to repeat
doing an ioctl until it returns != EBUSY.
Carlos A. M. dos Santos schrieb am 2009-01-09:
> On Thu, Jan 8, 2009 at 8:59 PM, Giorgos Keramidas
> <keramida at freebsd.org> wrote:
> > On Thu, 08 Jan 2009 18:13:14 +0100 (CET), Alexander Best
> > <alexbestms at math.uni-muenster.de> wrote:
> >> could somebody please commit the following patch to dev/ata? it
> >> fixes
> >> a nasty bug during fixation in burncd. the bug exists in RELENG6,
> >> RELENG7 and HEAD (and maybe RELENG5):
> >> http://www.freebsd.org/cgi/query-pr.cgi?prp=95979-3-txt&n=/patch
> >> the whole PR can be found here:
> >> http://www.freebsd.org/cgi/query-pr.cgi?pr=95979
> > I think Soren is the best person to look into this bug (Cc: added).
> > Soren, what do you think? Does the patch at bin/95979 look like a
> > nice
> > change to commit? I just saw this PR so I haven't tried the patch
> > on my
> > laptop's CURRENT yet, but I can confirm that burning CD-ROMs and
> > DVDs is
> > busted in my laptop for a few weeks now.
> I proposed a solution a similar problem (bin/123693), but patching
> burncd instead of the kernel. I'm attaching the patch, for your
More information about the freebsd-current