All of lore.kernel.org
 help / color / mirror / Atom feed
From: James Smart <James.Smart@Emulex.Com>
To: Matthew Wilcox <matthew@wil.cx>
Cc: linux-scsi@vger.kernel.org, tore@linpro.no
Subject: Re: [Patch] plug async scan race at 1st node scan
Date: Mon, 20 Aug 2007 10:02:45 -0400	[thread overview]
Message-ID: <46C99F05.7070404@emulex.com> (raw)
In-Reply-To: <20070820134918.GC30019@parisc-linux.org>

Well - depends on what the semantics of scan_start are.... to date, there
really are none....  and what does requiring it mean ?

What's implied is that you want "bring up link" to be enabled in scan_start().
Doable, but the code paths weren't put together expecting this, so it may be
a bit of work. I'll have to look at it.   Also, you're asking me to fix one
driver, without thinking about the structure in others.... I'd rather the
api itself locked down state/behavior, not simply the LLD coding.

Before starting, I'd rather we setting on what the semantics of the api is.
To the uninitiated, requiring a driver to call scsi_scan_host(), when the
transport drives all discovery, and where the scan_host really has nothing
to do with scanning, but rather creates a firewall delay to hold off serializing
of device enumerations - is all very confusing.  I'd rather we had a different
entry point for those things that supply start/finish routines and it was
named more in line with "start discovery delay".

Adding the notion of scan_start bringing up the link sounds reasonable. However,
how does this translate to other bus types ?

-- james s

Matthew Wilcox wrote:
> On Mon, Aug 20, 2007 at 09:10:35AM -0400, James Smart wrote:
>> In testing 2.6.23-rc3, there is a small window where the async-per-target
>> scan of the transport can beat the call from the LLDD to scsi_scan_host().
> 
> I'd assumed that events wouldn't come in until ->scan_start was called.
> I see lpfc doesn't have one; is it possible to restructure it to have one?
> 
> (In any case, good job tracking this down; it was really annoying me.)
> 
> Possibly we should be less forgiving, and require drivers to have a
> scan_start, otherwise they can't avoid this race.


  reply	other threads:[~2007-08-20 14:02 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-20 13:10 [Patch] plug async scan race at 1st node scan James Smart
2007-08-20 13:49 ` Matthew Wilcox
2007-08-20 14:02   ` James Smart [this message]
2007-08-20 14:32     ` Matthew Wilcox
2008-03-01 11:44   ` Mike Christie
2008-03-01 14:26     ` Matthew Wilcox

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=46C99F05.7070404@emulex.com \
    --to=james.smart@emulex.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=matthew@wil.cx \
    --cc=tore@linpro.no \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.