From: James Smart <James.Smart@Emulex.Com>
To: "Moore, Eric" <Eric.Moore@lsil.com>
Cc: linux-scsi@vger.kernel.org, akpm@osdl.org,
James.Bottomley@SteelEye.com, hch@infradead.org
Subject: Re: [PATCH 2/5] - fusion - target reset when drive is being removed
Date: Thu, 26 Jan 2006 10:14:32 -0500 [thread overview]
Message-ID: <43D8E758.8040702@emulex.com> (raw)
In-Reply-To: <F331B95B72AFFB4B87467BE1C8E9CF5F1FEDAC@NAMAIL2.ad.lsil.com>
Yep - makes sense.
So, where I was driving to, Target Reset is a f/w command, not the actual
Task Management Function "Target Reset". No need to follow up..
Thanks.
-- james
Moore, Eric wrote:
> On Thursday, January 26, 2006 7:40 AM, James Smart wrote:
>> Interesting that you took this path. I'm working on something similar
>> for the FC transport. When we finally decide the device is gone, we
>> want to kill the outstanding i/o. First thought in my mind was to use
>> a TMF - but this implies that you can contact the device to
>> do the TMF.
>> Are you sending this before the device has actually gone away
>> ? If it's
>> after, I assume this then is a firmware function that handles things
>> accordingly at the link layer (e.g. may not send the TMF,
>> will internally
>> abort the outstanding io's, may note the TR request and do it when the
>> device is later detected.... and so on).
>>
>
> The target reset is issued from the device driver slave_destroy entry
> point.
>
> This occurs after the device has been removed. Meaning the driver
> receives a firmware event saying a device was deleted, then the driver
> calls the sas_transport layer to report the deleted device. Then
> the scsi mid-layer calls the slave_destroy entry point, then the
> target reset is called.
>
> This sole purpose is merely telling the firmware to complete the
> outstanding
> commands back to the driver, so the mid-layer is getting all completed
> io
> for the device, thus preventing any future driver eh_threads from being
> called.
>
> This was implemented in the LSI internal drivers some time ago, at that
> time
> when the driver received the "device delete" event, the device could
> still be
> getting io from above, and/or still have io pending in its queue. The
> target
> reset will flush the queue, and thus return all the io's with abort'd
> status back
> to the driver. That is why I had the target reset from the
> slave_destroy.
>
> Eric
>
next prev parent reply other threads:[~2006-01-26 15:14 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-26 15:07 [PATCH 2/5] - fusion - target reset when drive is being removed Moore, Eric
2006-01-26 15:14 ` James Smart [this message]
-- strict thread matches above, loose matches on Subject: below --
2006-01-26 1:05 Moore, Eric
2006-01-26 14:39 ` James Smart
2006-01-26 19:37 ` Christoph Hellwig
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=43D8E758.8040702@emulex.com \
--to=james.smart@emulex.com \
--cc=Eric.Moore@lsil.com \
--cc=James.Bottomley@SteelEye.com \
--cc=akpm@osdl.org \
--cc=hch@infradead.org \
--cc=linux-scsi@vger.kernel.org \
/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.