From: Mike Christie <michaelc@cs.wisc.edu>
To: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: Mike Anderson <andmike@us.ibm.com>,
dm-devel@redhat.com, linux-scsi@vger.kernel.org,
jens.axboe@oracle.com
Subject: Re: [PATCH 7/9] scsi_dh: Add support for SDEV_PASSIVE
Date: Tue, 05 Feb 2008 14:04:26 -0600 [thread overview]
Message-ID: <47A8C14A.3030207@cs.wisc.edu> (raw)
In-Reply-To: <1202156914.3096.112.camel@localhost.localdomain>
James Bottomley wrote:
> On Mon, 2008-02-04 at 12:15 -0800, Chandra Seetharaman wrote:
>> On Mon, 2008-02-04 at 12:58 -0600, James Bottomley wrote:
>>> On Wed, 2008-01-23 at 16:32 -0800, Chandra Seetharaman wrote:
>>>> Subject: scsi_dh: Add support for SDEV_PASSIVE
>>>>
>>>> From: Chandra Seetharaman <sekharan@us.ibm.com>
>>>>
>>>> This patch adds a new device state SDEV_PASSIVE, to correspond to the
>>>> passive side access of an active/passive multipathed device.
>>> Really, no; this isn't right. The state field of a SCSI device is for
>>> the SCSI state model. Passive might be a valid device mapper state, but
>> Hi James,
>>
>> It is not the "device mapper state", it is the state of the device
>> itself. These devices have active/passive paths, the passive paths will
>> be represented by SDEV_PASSIVE device state in SCSI.
>
> Yes, it is .. you're killing commands on the basis of being in this
> state, which nothing in SCSI ever sets.
SCSI does set this. See below.
>
> A proper return from a passive path is the SCSI standard NOT_READY
> LOGICAL UNIT NOT READY, INITIALIZING COMMAND REQUIRED. We expect to see
> this, not the command being killed.
>
I think this part of the patch is trying to implement and detect the
Target port asymetric access states from spc3 section 5.8.2.4 (it does
not follow it exactly because devices like RDAC or old clarrions did not
implement the spec), and then use that info to fail commands before they
are even sent to the device to avoid start up delays from when programs
like udev, hal, kernel partition scanning probe the device.
For the LSI patch it works like the following:
When IO is sent to a path that cannot execute IO optimally, the scsi hw
handler hook for sense processing (see rdac_check_sense in "[PATCH 8/9]
scsi_dh: add lsi rdac device handler" and the scsi_error.c hook in in
"scsi_dh: add skeleton for SCSI Device Handlers") will detect this and
set the state to passive so future IO is not execute on the path
(SG_IO/passthrough is allowed).
I am not sure about alternatives. If we just exported the port access
state in sysfs, but did not fail IO from scsi_prep_state_check, then the
users could still check the state before sending IO. Would it be
horrible to convert apps to do this?
next prev parent reply other threads:[~2008-02-05 20:04 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-24 0:30 [PATCH 0/9] scsi_dh: Move dm device handler to SCSI layer Chandra Seetharaman
2008-01-24 0:30 ` [PATCH 1/9] scsi_dh: add REQ_LB_OP_TRANSITION and errors Chandra Seetharaman
2008-01-24 0:30 ` [PATCH 2/9] scsi_dh: change sd_prep_fn to call common code Chandra Seetharaman
2008-01-24 0:30 ` [PATCH 3/9] scsi_dh: scsi handling of REQ_LB_OP_TRANSITION Chandra Seetharaman
2008-02-01 20:00 ` Mike Christie
2008-02-04 18:59 ` Chandra Seetharaman
2008-02-04 19:02 ` James Bottomley
2008-02-06 19:00 ` Mike Anderson
2008-02-06 20:52 ` James Bottomley
2008-01-24 0:31 ` [PATCH 4/9] scsi_dh: add skeleton for SCSI Device Handlers Chandra Seetharaman
2008-02-01 19:53 ` Mike Christie
2008-02-01 20:27 ` Mike Anderson
2008-02-04 18:54 ` Chandra Seetharaman
2008-01-24 0:31 ` [PATCH 5/9] scsi_dh: add EMC Clariion device handler Chandra Seetharaman
2008-01-24 0:31 ` [PATCH 6/9] scsi_dh: add hp sw " Chandra Seetharaman
2008-01-24 0:32 ` [PATCH 7/9] scsi_dh: Add support for SDEV_PASSIVE Chandra Seetharaman
2008-02-04 18:58 ` James Bottomley
2008-02-04 20:15 ` Chandra Seetharaman
2008-02-04 20:28 ` James Bottomley
2008-02-04 21:19 ` Chandra Seetharaman
2008-02-09 12:45 ` Matthew Wilcox
2008-02-11 18:27 ` Chandra Seetharaman
2008-02-11 19:18 ` Matthew Wilcox
2008-02-28 1:03 ` Chandra Seetharaman
2008-02-05 20:04 ` Mike Christie [this message]
2008-02-05 21:56 ` Mike Anderson
2008-02-06 0:46 ` Chandra Seetharaman
2008-02-07 10:08 ` no INQUIRY from userspace please (was Re: [PATCH 7/9] scsi_dh: Add support for SDEV_PASSIVE) Stefan Richter
2008-02-07 15:01 ` James Bottomley
2008-02-07 17:05 ` no INQUIRY from userspace please Stefan Richter
2008-02-07 17:13 ` Stefan Richter
2008-02-19 20:53 ` Douglas Gilbert
2008-03-04 9:06 ` Hannes Reinecke
2008-02-07 20:42 ` no INQUIRY from userspace please (was Re: [PATCH 7/9] scsi_dh: Add support for SDEV_PASSIVE) Luben Tuikov
2008-02-04 20:26 ` [PATCH 7/9] scsi_dh: Add support for SDEV_PASSIVE Mike Anderson
2008-01-24 0:32 ` [PATCH 8/9] scsi_dh: add lsi rdac device handler Chandra Seetharaman
2008-01-24 0:32 ` [PATCH 9/9] scsi_dh: add scsi device handler to dm Chandra Seetharaman
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=47A8C14A.3030207@cs.wisc.edu \
--to=michaelc@cs.wisc.edu \
--cc=James.Bottomley@HansenPartnership.com \
--cc=andmike@us.ibm.com \
--cc=dm-devel@redhat.com \
--cc=jens.axboe@oracle.com \
--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.