Re: How to force cdrom driver to redetect media after cdrecord?

From: Jens Axboe
Date: Thu Feb 26 2004 - 01:57:01 EST


On Wed, Feb 25 2004, Byron Stanoszek wrote:
> > > I originally thought so, but maybe I was wrong. Jens posted a patch
> > > to invalidate kernel buffers on an umount - if the problem persists
> > > with that patch, I still believe it is a hardware fault.
> >
> > Perhaps another program has the device open still? In that case, we
> > don't invalidate the toc cache.
> >
> > --
> > Jens Axboe
>
> Jens,
> I ran into something similar today. I'd like to use cdrecord to write
> to a CD and then immediately turn around and read from it for
> verification purposes...
>
> ...Except that I only get 2048 bytes from a 'cat /dev/scd0' until I
> take the CD out and put it back in.
>
> Is there a known way for a userland application to make an ioctl to
> the cdrom device in a 2.4/2.6 kernel to tell it the media changed
> without forcing a tray open & close?
>
> I intend to execute a program with this ioctl (if there is such a
> thing) after the cdrecord and before the 'cat'.

That should already work in 2.6 current, when the last program closes
the drive the toc is invalidated. For 2.4 you are probably out of luck,
use something like eject to open/close the tray.

--
Jens Axboe

-
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/