Re: [REGRESSION] cdrom drive doesn't detect removal

From: Tejun Heo
Date: Wed Sep 22 2010 - 03:36:37 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/