From owner-freebsd-scsi@FreeBSD.ORG Tue Aug 15 13:23:11 2006 Return-Path: X-Original-To: scsi@freebsd.org Delivered-To: freebsd-scsi@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 026A316A4EA for ; Tue, 15 Aug 2006 13:23:11 +0000 (UTC) (envelope-from ken@nargothrond.kdm.org) Received: from nargothrond.kdm.org (nargothrond.kdm.org [70.56.43.81]) by mx1.FreeBSD.org (Postfix) with ESMTP id 47FB443D77 for ; Tue, 15 Aug 2006 13:23:05 +0000 (GMT) (envelope-from ken@nargothrond.kdm.org) Received: from nargothrond.kdm.org (localhost [127.0.0.1]) by nargothrond.kdm.org (8.13.6/8.13.6) with ESMTP id k7FDN4m2039353; Tue, 15 Aug 2006 07:23:04 -0600 (MDT) (envelope-from ken@nargothrond.kdm.org) Received: (from ken@localhost) by nargothrond.kdm.org (8.13.6/8.13.6/Submit) id k7FDN4Cb039352; Tue, 15 Aug 2006 07:23:04 -0600 (MDT) (envelope-from ken) Date: Tue, 15 Aug 2006 07:23:04 -0600 From: "Kenneth D. Merry" To: John Baldwin Message-ID: <20060815132304.GA39025@nargothrond.kdm.org> References: <200608150815.57259.jhb@yahoo-inc.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200608150815.57259.jhb@yahoo-inc.com> User-Agent: Mutt/1.4.2i X-Virus-Scanned: ClamAV 0.88.1/1662/Tue Aug 15 02:29:25 2006 on nargothrond.kdm.org X-Virus-Status: Clean Cc: scsi@freebsd.org Subject: Re: O_NONBLOCK and /dev/passX devices.. X-BeenThere: freebsd-scsi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SCSI subsystem List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Aug 2006 13:23:11 -0000 On Tue, Aug 15, 2006 at 08:15:57 -0400, John Baldwin wrote: > Is there a specific reasons that O_NONBLOCK isn't supported on > /dev/passX devices? Would it be hard to add support for that? It depends. What exactly are the semantics of O_NONBLOCK? Does it only apply on open, or on subsequent operations, like ioctl? You're going to block for some period of time in almost every operation on a pass device. When you send a command down to a SCSI device, it'll take some amount of time to complete. It could be less than a second, or hours, depending on the command, device and timeout. We could probably come up with an async I/O type interface, where you'd get notification of command completion, but not blocking with the current interface probably wouldn't be practical, because most every request will block. What are you trying to do? Ken -- Kenneth Merry ken@FreeBSD.org