From owner-cvs-all@FreeBSD.ORG Fri Nov 16 17:54:30 2007 Return-Path: Delivered-To: cvs-all@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6063116A420; Fri, 16 Nov 2007 17:54:30 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from pooker.samsco.org (pooker.samsco.org [168.103.85.57]) by mx1.freebsd.org (Postfix) with ESMTP id 16FBF13C45D; Fri, 16 Nov 2007 17:54:28 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from phobos.samsco.home (phobos.samsco.home [192.168.254.11]) (authenticated bits=0) by pooker.samsco.org (8.13.8/8.13.8) with ESMTP id lAGHsNJJ034542; Fri, 16 Nov 2007 10:54:23 -0700 (MST) (envelope-from scottl@samsco.org) Message-ID: <473DD94D.8050605@samsco.org> Date: Fri, 16 Nov 2007 10:54:21 -0700 From: Scott Long User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.6) Gecko/20070802 SeaMonkey/1.1.4 MIME-Version: 1.0 To: Poul-Henning Kamp References: <29576.1195233852@critter.freebsd.dk> In-Reply-To: <29576.1195233852@critter.freebsd.dk> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (pooker.samsco.org [168.103.85.57]); Fri, 16 Nov 2007 10:54:24 -0700 (MST) X-Spam-Status: No, score=-1.4 required=5.5 tests=ALL_TRUSTED autolearn=failed version=3.1.8 X-Spam-Checker-Version: SpamAssassin 3.1.8 (2007-02-13) on pooker.samsco.org Cc: cvs-src@FreeBSD.ORG, src-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG, =?ISO-8859-1?Q?S=F8ren_Schmidt?= , Nate Lawson Subject: Re: cvs commit: src/sys/dev/ata atapi-cd.c atapi-cd.h X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Nov 2007 17:54:30 -0000 Poul-Henning Kamp wrote: > In message <473DCF61.6010107@samsco.org>, Scott Long writes: > >>> What I've sortof talked phk into is that if I return the "right" error >>> code in the "start" function, it will back off and not retry nor chatter. >>> We still need the "access" function to return OK if HW present or we >>> cannot send ioctl calls to an empty drive. >>> >> IMHO, overloading g_start just adds more cruft to the problem. > > The fundamental problem is that the CDROM ioctls don't distinguish > between drive and media. > > In a nutshell: we are forced to let the open succeed, so the ioctl > to close the tray can be issued, before we can get at the media. > > The problem with letting the open (aka g_access) succeed, is that > the GEOM tasting starts. > > Redefining the ioctls is not a realistic option at this point, so > the task is to find a workaround for the API-deficiency. > > What sos@ and I talked about is that we need to have an error return > that says "The drive is here, but there is no media", to fail the > tasting without GEOM reporting I/O errors on the console. > > The simplest way to do this, is probably to overload ENOENT or some > other currently undefined errno for this effect. > But then why not have g_access be able to communicate the ability to access the device independent from the ability to access the media? Seems like both of these questions are "access" questions. Scott