All of lore.kernel.org
 help / color / mirror / Atom feed
From: Luben Tuikov <tluben@rogers.com>
To: oliver@neukum.name
Cc: James Bottomley <James.Bottomley@steeleye.com>,
	Matthew Dharm <mdharm-scsi@one-eyed-alien.net>,
	linux-hotplug-devel@lists.sourceforge.net,
	Mike Anderson <andmike@us.ibm.com>,
	mochel@osdl.org, SCSI Mailing List <linux-scsi@vger.kernel.org>
Subject: Re: [PATCH] scsi_set_host_offline (resend)
Date: Thu, 17 Apr 2003 18:29:11 -0400	[thread overview]
Message-ID: <3E9F2AB7.5080903@rogers.com> (raw)
In-Reply-To: <200304100951.13652.oliver@neukum.org>

Oliver Neukum wrote:
>>*But*, the _important__point_ is that the LLDD must be able to handle
>>requests (queuecommand()) to non-existant (== just removed) devices,
>>and not oops, or whatever.
> 
> 
> For how long? That's the question.

As soon as scsi_dev_removal()/scsi_set_dev_offline() returns
you may assume you can free all _your_ resources.  I.e.
the upper subsystem should handle it from that point on.
 
>>So, in effect, you just call usb_dev_removal(dev) (to be written),
>>and free _your_ resources on the device. (note important point above)
> 
> 
> The way it is in USB is a little different as the USB device drivers do
> not go directly to the hardware. It would be:
> 
> HCD -> USB core -> LLDD -> generic SCSI -> ...
> Steps 1 to 3 work, 4 doesn't.

Not yet, soon maybe.

> If they can't block, they cannot clean up commands still in flight.
> Eventually something needs to wait for the outstanding commands.

I don't see it.

(Upper level: )
Pending commands could be invalidated at once, via their callback
to the upper subsystem; and any new incoming commands to device x
could be invalidated at the moment they come in.

(Lower level: )
Note that during the call to scsi_dev_removal() your driver
may get its host_reset/device_reset function called to abort all
pending commands (so as to leave the device in a predictable state).
At which point, depending on the transport, _your__driver_ may need
to sleep until the task management function response comes back (say over
a network).

All in all, it's not that bad.
-- 
Luben





  reply	other threads:[~2003-04-17 22:17 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-03-25 10:07 [PATCH] scsi_set_host_offline (resend) Mike Anderson
2003-03-25 17:37 ` James Bottomley
2003-03-25 18:45   ` Mike Anderson
2003-03-25 19:02     ` James Bottomley
2003-03-25 21:04       ` Patrick Mochel
2003-03-25 23:29       ` Mike Anderson
2003-03-27 15:42         ` James Bottomley
2003-03-29  0:31           ` Patrick Mansfield
2003-03-29  1:32           ` Matthew Dharm
2003-03-29  6:30             ` Mike Anderson
2003-03-29 14:43             ` James Bottomley
2003-03-29 19:04               ` Mike Anderson
2003-03-29 19:24                 ` Oliver Neukum
2003-03-29 20:53               ` Matthew Dharm
2003-03-29 21:54                 ` James Bottomley
2003-03-29 22:15                   ` Matthew Dharm
2003-03-30 16:23                     ` James Bottomley
2003-03-30 17:26                       ` Oliver Neukum
2003-04-09 20:30                         ` Luben Tuikov
2003-04-09 22:32                           ` Oliver Neukum
2003-04-09 22:59                             ` Luben Tuikov
2003-04-10  7:51                               ` Oliver Neukum
2003-04-17 22:29                                 ` Luben Tuikov [this message]
2003-03-30 18:21                       ` Matthew Dharm
2003-04-09 20:53                         ` Luben Tuikov
2003-03-29 22:50                   ` Oliver Neukum
2003-04-01  2:48                     ` Mike Anderson
2003-04-02  7:42                       ` Matthew Dharm
2003-04-03  2:05                         ` Mike Anderson
  -- strict thread matches above, loose matches on Subject: below --
2003-03-30 17:26 Oliver Neukum
2003-04-09 20:30 ` Luben Tuikov
2003-04-09 22:32 ` Oliver Neukum
2003-04-09 22:59 ` Luben Tuikov
2003-04-10  7:51 ` Oliver Neukum
2003-04-17 22:29 ` Luben Tuikov

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=3E9F2AB7.5080903@rogers.com \
    --to=tluben@rogers.com \
    --cc=James.Bottomley@steeleye.com \
    --cc=andmike@us.ibm.com \
    --cc=linux-hotplug-devel@lists.sourceforge.net \
    --cc=linux-scsi@vger.kernel.org \
    --cc=mdharm-scsi@one-eyed-alien.net \
    --cc=mochel@osdl.org \
    --cc=oliver@neukum.name \
    /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.