From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeff Garzik Subject: Re: ioctls, etc. (was Re: [PATCH 1/4] sas: add flag for locally attached PHYs) Date: Fri, 21 Oct 2005 22:54:54 -0400 Message-ID: <4359A9FE.4010503@pobox.com> References: <91888D455306F94EBD4D168954A9457C048F0E34@nacos172.co.lsil.com> <20051020160155.GA14296@lst.de> <4357CB03.4020400@adaptec.com> <20051020170330.GA16458@lst.de> <4357F7DE.7050004@adaptec.com> <1129852879.30258.137.camel@bluto.andrew> <43583A53.2090904@pobox.com> <435929FD.4070304@adaptec.com> <20051021180455.GA6834@lst.de> <43592FA1.8000206@adaptec.com> <20051021182009.GA3364@parisc-linux.org> <4359A44B.3090804@torque.net> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from mail.dvmed.net ([216.237.124.58]:44217 "EHLO mail.dvmed.net") by vger.kernel.org with ESMTP id S932137AbVJVCz1 (ORCPT ); Fri, 21 Oct 2005 22:55:27 -0400 In-Reply-To: <4359A44B.3090804@torque.net> Sender: linux-scsi-owner@vger.kernel.org List-Id: linux-scsi@vger.kernel.org To: dougg@torque.net Cc: Matthew Wilcox , Luben Tuikov , Christoph Hellwig , andrew.patterson@hp.com, "Moore, Eric Dean" , jejb@steeleye.com, linux-scsi@vger.kernel.org, Linux Kernel , Linus Torvalds Douglas Gilbert wrote: > However, the block layer is used in the context of a > block device (and in some cases a char device). > If SAS domain discovery is done from the user space, and > the root file system is the far side of a SAS expander, > there are no suitable devices, just the SAS initiator > (HBA) which currently we cannot address via the block layer. Invalid example. All of the methods listed -- request_queue, netlink, chrdev, sysfs, ioctl -- will work just fine when the root filesystem is on the far side of a SAS expander. These are just methods of communication, nothing more. In your example -- userspace discovery required before root filesystem can be found -- a program running from initrd/initramfs would create an SMP device node, open it, and then proceed with the discovery and configuration process, which in turn creates the device nodes necessary to mount the root filesystem. A request_queue is just a queue. You are in complete control of who are the producer(s) of requests, and who are consumer(s). Jeff