Re: readcd with 2.5 kernels and ide-cd

Jens Axboe (axboe@suse.de)
Fri, 30 May 2003 08:48:56 +0200


On Thu, May 29 2003, Andy Polyakov wrote:
> > > Is there work going on to get readcd working with 2.5 kernels and
> > > ide-cd (without ide-scsi)?
> > >
> > > strace readcd dev=/dev/dvd f=/dev/null
> > > ...
> > > ioctl(4, SNDCTL_TMR_TIMEBASE, 0xbfffedd8) = -1 ENOTTY (Inappropriate ioctl for device)
> > > ...
> > > ioctl(3, 0x2285, 0xbfffef9c) = -1 ENOTTY (Inappropriate ioctl for device)
> >
> > Something _very_ fishy is going on there.
>
> Nothing fishy, nothing at all... It's as simple as
> driver/block/scsi_ioctl.c doesn't accepts requestes larger than 64KB,
> while readcd asks for 256KB.

Hmm you are right, well we can increase that without any problems. For
bio transfers at least, kmalloc() runs into problems much beyond that.
But for larger transfers, they better be aligned.

> > 0x2285 is the SG_IO ioctl.
>
> sg_io returns EINVAL (line 163), but driver/block/ioctl.c transforms it
> to ENOTTY (see last 8 lines).

Ah, so that is the bug.

> > First call to it completes, second one returns -ENOTTY. Looks very much
> > like some kernel bug, see the SNDCTL_TMR_TIMEBASE ioctl returning
> > -ENOTTY in-between.
>
> SNDCTL_TMR_TIMEBASE is actually TCGETS, originates in stdio and is not
> relevant.

Well yes it's resolved incorrectly, the line was the interesting part.
The -ENOTTY was the interesting part, but no not relevant.

-- 
Jens Axboe

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