Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757203AbYJVToi (ORCPT ); Wed, 22 Oct 2008 15:44:38 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753047AbYJVTo2 (ORCPT ); Wed, 22 Oct 2008 15:44:28 -0400 Received: from accolon.hansenpartnership.com ([76.243.235.52]:54179 "EHLO accolon.hansenpartnership.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752064AbYJVTo1 (ORCPT ); Wed, 22 Oct 2008 15:44:27 -0400 Subject: Re: Possible bug in SCSI Kconfig From: James Bottomley To: Fabio Comolli Cc: Linux Kernel Mailing List , sam@ravnborg.org, linux-scsi In-Reply-To: References: <1224702340.6851.20.camel@localhost.localdomain> Content-Type: text/plain Date: Wed, 22 Oct 2008 13:44:19 -0600 Message-Id: <1224704659.6851.28.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.22.3.1 (2.22.3.1-1.fc9) Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3707 Lines: 89 On Wed, 2008-10-22 at 21:25 +0200, Fabio Comolli wrote: > Hi. > > On Wed, Oct 22, 2008 at 9:05 PM, James Bottomley > wrote: > > On Wed, 2008-10-22 at 18:29 +0200, Fabio Comolli wrote: > >> Hi. > >> In kernel 2.6.27.2 - drivers/scsi/Kconfig we have: > >> > >> config SCSI_WAIT_SCAN > >> tristate > >> default m > >> depends on SCSI > >> depends on MODULES > >> > >> The tristate field is empty. This has the effect that this option is > >> not visible in menuconfig and so it's always selected. The default is > >> "m" for all architectures and so this module is always compiled if > >> SCSI and MODULES are both enabled. > >> > >> I'm using a patch like this one: > >> > >> config SCSI_WAIT_SCAN > >> - tristate > >> + tristate "Wait until all the async scans are complete" > >> default m > >> depends on SCSI > >> depends on MODULES > >> > >> to get rid of that module. > >> > >> Of course, I have no idea if this is correct or the current behavior > >> is the expected one. > > > > The point of all of this is that if you enable async scanning, you need > > a method of waiting for the scans to complete, which is all this module > > does (you insert it and it doesn't come back from the insertion until > > all the pending async scans are complete). It's tristate because really > > it only makes sense to be M or N. The consensus is that, given async > > scanning is always an option, this function should always be built as a > > module *if* modules and SCSI are enabled ... because you might have a > > HBA module you enabled async scanning for and you need to wait. > > OK, I see your point. > > But in my case I have SCSI enabled only because it's SELECTed by ATA > (it's just a laptop) and I don't have any hba's and never will. So no > async scan. Presumably you have a laptop hard disk. That's currently SCSI if you use ATA ... although when ATA moves out of SCSI it will no longer be, so you could regard this as a temporary condition. > Maybe this module should be enabled if async scan is. But that's the point: async scan is always "enabled" it just might not be the default, that's what the CONFIG_SCSI_SCAN_ASYNC controls: the default value (but you can always turn it on with the kernel boot or SCSI module option). Async scan is also functional for /drivers/ata and other hot plug type busses, so it still makes sense for them as well. > > There's really not much point giving the user the choice, since this > > module is part of the initrd sequence ... it's not really anything a > > user would want to use stand alone, hence there's no point giving a > > choice about it. > > > > I don't use initrd at all. I just noticed the existence of this module > while trying to have a non modular kernel. This failed because of > ipw2200 and after having enabled modules again I just found this > scsi_wait_scan.ko. Well, we do use CONFIG_MODULES to try to discern whether the user wants modules or not. However, if you enable modules, we'd need some telepathic configurator to tell us if you plan to use SCSI HBA modules or not, so the safest course is always to enable it. The real point is that you have to be a real power user to answer N correctly to this, so it's better not to confuse the remaining 97% with the option because they could easily get wrong ... the 3% who're sure they don't want it can simply delete it. James -- 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/