Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Nov 2002 18:26:59 -0800 (PST)
From:      Nate Lawson <nate@root.org>
To:        Kris Kennaway <kris@obsecurity.org>
Cc:        ports@freebsd.org, stable@freebsd.org
Subject:   Re: HEADSUP - change in CDRIOC.*SPEED ioctl units
Message-ID:  <Pine.BSF.4.21.0211191820020.61933-100000@root.org>
In-Reply-To: <20021120014718.GA7632@rot13.obsecurity.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 19 Nov 2002, Kris Kennaway wrote:
> On Tue, Nov 19, 2002 at 04:39:29PM -0800, Nate Lawson wrote:
> > I just MFCd code that was committed to current a month ago that changes
> > the semantics of CDRIOC{READ,WRITE}SPEED ioctls to take the raw value (in
> > KB/sec).  Before, the units were multiples of CDROM 1X speed (i.e. 1x =
> > 177 K/s, 2x = 354 K/s, ...)  Also, it is now possible to tell the drive to
> > select its maximum possible speed by sending 0xffff as the ioctl argument.
> > 
> > Maintainers of CD player, ripper, and burner packages should make sure
> > they've tracked the change correctly.  If you don't use the CDRIOC
> > interface, you don't need to change anything.  If you do, multiply all
> > values by 177 before passing them to ioctl().  For examples on how to do
> > this, see usr.sbin/cdcontrol or usr.sbin/burncd.
> 
> This is not acceptable, IMO.  We don't break ABI or API compatibility
> in the -STABLE branch without very good reason.

I have examined many common ports including cdrecord, tosha, dagrab and am
reasonably certain no one is using the CDRIOC*SPEED ioctls outside of
cdcontrol and burncd.  Since they are only found in FreeBSD, the only
problem may be a 3rd-party commercial application (if there is one).  A
possible workaround would be to specify speed as 177 for 1x, etc.

The reason this was MFCd is that it is impossible to tell the drive to use
the max speed by sending 0xffff since the kernel was multiplying by 177.  
See the PR referenced in the original commit. This limited functionality
in the MMC command set.  There are still limitations (only one of READ,
WRITE speed may be set and the other is automatically set to max) but that
would break the API to change.

The commit was available in -current with a 1 month MFC window and was
reviewed by sos@ and ken@ (atapi cd + scsi cd maintainers).  I also
believe I sent a headsup after committing the changes to -current as well 
as this one for stable.

Anyway, please let me know if there are any problems.

-Nate


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0211191820020.61933-100000>