linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley@SteelEye.com>
To: Luben Tuikov <luben_tuikov@adaptec.com>
Cc: Alan Stern <stern@rowland.harvard.edu>,
	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: 29 Sep 2004 14:09:13 -0400	[thread overview]
Message-ID: <1096481358.2123.74.camel@mulgrave> (raw)
In-Reply-To: <415AF8A6.2080705@adaptec.com>

On Wed, 2004-09-29 at 14:02, Luben Tuikov wrote:
> > According to Documentation/scsi/scsi_mid_low_api.txt, the only possible 
> > error returns are SCSI_MLQUEUE_DEVICE_BUSY and SCSI_MLQUEUE_HOST_BUSY.  
> > Neither is appropriate; should the second one be returned?
> 
> I believe internally SCSI Core returns DID_ERROR.

For a device that no-longer exists, DID_NO_CONNECT is probably the most
appropriately descriptive.

> >>> This would involve a race, because it's possible for
> >>>queuecommand to accept a command and then scsi_remove_host() to be called
> >>>before the command is carried out.

Correct, scsi_remove_host() is asynchronous ... you can get requests
after calling it while the queue is halting ... you must error these.

> > If the command belongs to the LLDD, why does scsi_remove_host do the
> > following:
> > 
> > 	calls scsi_host_cancel,
> > 	which calls scsi_device_cancel_cb for each device,
> > 	which calls scsi_device_cancel,
> > 	which calls scsi_finish_command for each active command,
> > 	which passes the command back to the upper layer
> > 
> > Either there's a bug in the host removal sequence, or else the LLDD 
> > doesn't own any requests once scsi_remove_host has been called.

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).

James



  reply	other threads:[~2004-09-29 18:09 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 [this message]
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
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=1096481358.2123.74.camel@mulgrave \
    --to=james.bottomley@steeleye.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=linux-usb-users@lists.sourceforge.net \
    --cc=luben_tuikov@adaptec.com \
    --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).