lkml.org 
[lkml]   [2010]   [Sep]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [REGRESSION] cdrom drive doesn't detect removal
Hello,

On 09/22/2010 01:09 AM, Maxim Levitsky wrote:
> I just did a strace on udisks, and it is pretty much self explanatory.
> (While CD is mounted).
>
> open("/dev/sr0", O_RDONLY|O_EXCL|O_NONBLOCK) = -1 EBUSY (Device or resource busy)
> poll([{fd=5, events=POLLIN}, {fd=3, events=POLLIN}], 2, 1997) = 0 (Timeout)
> open("/dev/sr0", O_RDONLY|O_EXCL|O_NONBLOCK) = -1 EBUSY (Device or resource busy)
> poll([{fd=5, events=POLLIN}, {fd=3, events=POLLIN}], 2, 1997) = 0 (Timeout)
> open("/dev/sr0", O_RDONLY|O_EXCL|O_NONBLOCK) = -1 EBUSY (Device or resource busy)
> poll([{fd=5, events=POLLIN}, {fd=3, events=POLLIN}], 2, 1997) = 0 (Timeout)
> open("/dev/sr0", O_RDONLY|O_EXCL|O_NONBLOCK) = -1 EBUSY (Device or resource busy)
>
> Sure, a filesystem is mounted, so exclusive access fails...
>
> So, we end up with impossible to solve problem. We want on one hand
> to guard the burner against polling programs that disturb it, but
> one the other hand we must do polling to check CD status.
>
> Unless the kernel does the polling, but then we also must stop it
> when burning is done. I think that we need new ioctl in the CD
> driver that would give absolute access to the burning application,
> and lock it fully.

One thing I don't get is why the behavior changed after the claiming
block patch. Can you please trace udisks from a previous working
kernel?

Thanks.

--
tejun


\
 
 \ /
  Last update: 2010-09-22 09:39    [from the cache]
©2003-2011 Jasper Spaans