linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Luben Tuikov <luben_tuikov@adaptec.com>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: SCSI development list <linux-scsi@vger.kernel.org>,
	Mohammed Sameer <uniball@gmx.net>,
	USB users list <linux-usb-users@lists.sourceforge.net>
Subject: Re: BUG: CD driver sends command during host removal
Date: Wed, 29 Sep 2004 15:33:04 -0400	[thread overview]
Message-ID: <415B0DF0.2020600@adaptec.com> (raw)
In-Reply-To: <Pine.LNX.4.44L0.0409291452120.1700-100000@ida.rowland.org>

Alan Stern wrote:
> On Wed, 29 Sep 2004, Luben Tuikov wrote:
> 
>  > Hmm, once queuecommand() has been called, SCSI Core *should NOT* touch
>  > the struct command until the LLDD calls scsi_done() or it times
>  > out and ownership is given back indirectly via the appropriate
>  > return result of the times_out() function.
> 
> On 29 Sep 2004, James Bottomley wrote:
> 
>  > Right.  scsi_remove_host tells the mid-layer that it's OK to trash all
>  > inflight commands because you removed all their users before calling
>  > it.  It also tells us that you won't accept any future commands for this
>  > host (because you'll error any attempt in queuecommand).
> 
> It sounds like the two of you are in contradiction.  Should the SCSI core
> deallocate in-flight commands without consulting the LLDD or shouldn't it?

If the host is really gone, then no pending commands would
ever "return".

This means that the LLDD can call scsi_done() immediately, without
any waiting or delay of any sort.

Basically, when your host is gone, plug queuecommand(), call
scsi_done() on all your pending commands, and call scsi_remove_host().
The only problem would be if you have to sleep while "recovering"
the pending commands, but I cannot imagine why you'd do that
as your host is gone.

Now since LLDD shouldn't keep internal queues of pending commands,
ideally, this function is left to SCSI Core.

	Luben










  parent reply	other threads:[~2004-09-29 19:33 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20040926082926.GA1944@uniball>
2004-09-27 18:18 ` BUG: CD driver sends command during host removal Alan Stern
2004-09-27 18:51   ` Mohammed Sameer
2004-09-29 16:06   ` Luben Tuikov
2004-09-29 16:55     ` Alan Stern
2004-09-29 17:09       ` Mike Anderson
2004-09-29 18:02       ` Luben Tuikov
2004-09-29 18:09         ` James Bottomley
2004-09-29 18:58           ` Luben Tuikov
2004-09-29 19:39             ` James Bottomley
2004-09-29 19:01         ` Alan Stern
2004-09-29 19:27           ` Mike Anderson
2004-09-29 19:33           ` Luben Tuikov [this message]
2004-09-29 19:50           ` James Bottomley
2004-09-29 20:31             ` Mike Anderson
2004-09-29 20:41               ` James Bottomley
2004-09-29 21:07                 ` Mike Anderson
2004-09-29 21:14                   ` James Bottomley
2004-09-29 21:20                     ` Luben Tuikov
2004-09-29 21:26                       ` James Bottomley
2004-09-29 21:20                   ` Alan Stern
2004-10-02 23:57                     ` Mohammed Sameer
2004-10-11 19:20 Alan Stern
2004-10-11 19:36 ` James Bottomley
2004-10-11 20:03   ` Alan Stern
2004-10-11 20:12     ` James Bottomley
2004-10-11 20:40       ` Mike Anderson
2004-10-11 21:15         ` James Bottomley
2004-10-11 23:13           ` Mike Anderson

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=415B0DF0.2020600@adaptec.com \
    --to=luben_tuikov@adaptec.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=linux-usb-users@lists.sourceforge.net \
    --cc=stern@rowland.harvard.edu \
    --cc=uniball@gmx.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).