Bug 206847 - O_EXCL breaks mixed cd's [NEEDINFO]
O_EXCL breaks mixed cd's
Status: CLOSED WONTFIX
Product: Fedora
Classification: Fedora
Component: cdparanoia (Show other bugs)
9
All Linux
medium Severity medium
: ---
: ---
Assigned To: Peter Jones
:
: 411701 (view as bug list)
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2006-09-17 04:06 EDT by David Zeuthen
Modified: 2013-03-05 22:47 EST (History)
8 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-07-14 10:32:46 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
davidz: needinfo? (pjones)


Attachments (Terms of Use)

  None (edit)
Description David Zeuthen 2006-09-17 04:06:40 EDT
Description of problem:

If the data track is mounted cdparanoia will fail because it wants O_EXCL.
Looking at the change log this was added 

 * Tue May 06 2003 Peter Jones <pjones@redhat.com> alpha9.8-16
 - fix warnings on switches
 - use O_EXCL

which is a long time ago. 

Running without this patch works fine for me, come to think of it, I can't
imagine when yould would need O_EXCL but I suppose it was added for a reason.
Can we remove it please?

Thanks,
David
Comment 1 David Zeuthen 2006-09-18 13:48:56 EDT
Alan Cox: Nowadays, is it safe to let cdparanoia directory access the CD drive
to extract the audio tracks _while_ the data part of the mixed CD is mounted?

Thanks,
David
Comment 2 David Zeuthen 2006-09-18 13:49:55 EDT
Comment 1: s/directory/directly/ 
Comment 3 Alan Cox 2006-09-18 13:57:40 EDT
The audio apps are doing this nowdays and seem ok. There should be no problems
unless you issue very long commands that hog the bus (like the CD fixate). I
don't think cdparanoia will trigger any of those while reading.

The actual driver layer (both scsi and ide) is happy to have mixed raw and fs
commands outstanding except for that limitation, and it's a tested path because
of the SMART utils.
Comment 4 David Zeuthen 2006-10-16 10:43:24 EDT
It's more problematic than just removing it. pjones and I talked about this a
few weeks back. 

The crux of the problem is that if you're burning a CD and then e.g. insert your
iPod, then some Music Player program (e.g. Rhythmbox, Banshee) may be launched.
And said player may do silly things like check the optical drive for audio cd's.
And if it doesn't use O_EXCL it might interfere with the burning process.

I think the conclusion is that O_EXCL is in general inadequate and we need some
better, kernel-enforced, way of locking. What that looks like is pretty
difficult to say.

(Adding dcbw to Cc list as he just ran into this issue with his Scandinavian
heavy rock mixed CD's.)
Comment 5 David Zeuthen 2006-10-16 10:47:12 EDT
Peter, perhaps you can chip in with the problems you saw re removing O_EXCL? And
potentially some thinking about a more adequate form of locking if this is
required. Thanks.
Comment 6 Alan Cox 2006-10-16 12:26:06 EDT
The kernel doesn't have enough information currently to do any of this because
the cdrecorder is using the same interface as many other apps and they have
different policies with different requirements. At the very least you'd need to
modify all the CD burner apps to provide more info or enforce that O_EXCL blocks
all other non O_EXCL openers after that point ?


Comment 7 Mary Ellen Foster 2008-01-08 05:47:30 EST
NB: This O_EXCL setting breaks all attempts to rip CDs under KDE, because
inserting a CD starts a "kio_audiocd" process that prevents cdparanoia from
accessing the disc. It's really annoying to have to keep typing "killall
kio_audiocd" every time I insert a new CD.

See bug 411701 and http://bugs.kde.org/show_bug.cgi?id=135669 for more details.
Comment 8 Bug Zapper 2008-05-13 22:21:45 EDT
Changing version to '9' as part of upcoming Fedora 9 GA.
More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping
Comment 9 Jon Stanley 2008-05-14 23:58:44 EDT
*** Bug 411701 has been marked as a duplicate of this bug. ***
Comment 10 Jon Stanley 2008-05-15 00:02:58 EDT
Mary Ellen - 

I closed your other bug dup to this since it really is.

Peter - 

Any chance of some action on this in the near future?  I'm not sure what the
right course is reading this bug and the other one, it's a thorny problem (but a
long standing one)
Comment 11 Alan Cox 2008-05-15 08:48:42 EDT
For the API question this is an upstream discussion to be had between desktop
people and the block layer folks. Not a Red Hat internal one
Comment 12 Jörg Schilling 2009-02-10 10:09:46 EST
cdparanoia is based on a 1997 version of cdda2wav and does
not issue SCSI commands AFAIK because the code was never 
upgraded to a recent cdda2wav.

On the other side, cdda2wav included SCSI generic support
in 2001, it thus is able to give much better results than
cdparanoia does. In spring 2005, the paranoia code from
Monty was taken and made portable by the cdrtools project.
Recent cdrtools include a cdda2wav with paranoia support that
gives you better results than cdparanoia.

Note that cdda2wav does not open the devices using O_EXCL
and thus does not suffer from the problem.

ftp://ftp.berlios.de/pub/cdrecord/alpha/
Comment 13 Bug Zapper 2009-06-09 18:17:29 EDT
This message is a reminder that Fedora 9 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 9.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '9'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 9's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 9 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping
Comment 14 Bug Zapper 2009-07-14 10:32:46 EDT
Fedora 9 changed to end-of-life (EOL) status on 2009-07-10. Fedora 9 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.
Comment 15 Jörg Schilling 2009-07-14 17:42:24 EDT
Declaring Fedora 9 EOL does definitely not fix the problem.

The problem is caused by a design bug in hald and by the fact that
some applications make the mistake to follow this design bug.

If you use the original cdrtools from:

ftp://ftp.berlios.de/pub/cdrecord/alpha/

you will be able to use a working cdda2wav that is even
better than cdparanoia.

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