lkml.org 
[lkml]   [2008]   [Oct]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: Possible bug in SCSI Kconfig
From
Date
On Wed, 2008-10-22 at 21:25 +0200, Fabio Comolli wrote:
> Hi.
>
> On Wed, Oct 22, 2008 at 9:05 PM, James Bottomley
> <James.Bottomley@hansenpartnership.com> 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




\
 
 \ /
  Last update: 2008-10-22 21:47    [W:1.098 / U:0.008 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site