<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/include/scsi/scsi.h, branch linux-2.6.31.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.31.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.31.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2009-03-12T17:58:13Z</updated>
<entry>
<title>[SCSI] Make scsi.h independent of the rest of the scsi includes</title>
<updated>2009-03-12T17:58:13Z</updated>
<author>
<name>James Bottomley</name>
</author>
<published>2009-02-09T03:59:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f290f1970f01287eaaffc798a677594a57ebd65e'/>
<id>urn:sha1:f290f1970f01287eaaffc798a677594a57ebd65e</id>
<content type='text'>
This allows it to compile and be used on the ps3 platform that wants
to use the #define values in scsi.h without actually having
CONFIG_SCSI set.

Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] add OSD_TYPE</title>
<updated>2009-03-12T17:58:05Z</updated>
<author>
<name>Boaz Harrosh</name>
</author>
<published>2009-01-25T14:51:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=82443a58d361123d418033e9e32ac29a842fce68'/>
<id>urn:sha1:82443a58d361123d418033e9e32ac29a842fce68</id>
<content type='text'>
- Define the OSD_TYPE scsi device and let it show up in scans

Signed-off-by: Boaz Harrosh &lt;bharrosh@panasas.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] Remove SUGGEST flags</title>
<updated>2009-03-12T17:58:02Z</updated>
<author>
<name>Martin K. Petersen</name>
</author>
<published>2009-01-04T08:14:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1c9fbafc8c629c89183d6dccec67a8415513b0d1'/>
<id>urn:sha1:1c9fbafc8c629c89183d6dccec67a8415513b0d1</id>
<content type='text'>
The SUGGEST_* flags in the SCSI command result have been out of fashion
for a while and we don't actually use them in the error handling.
Remove the remaining occurrences.

Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] scsi: add transport host byte errors (v3)</title>
<updated>2008-10-13T13:28:48Z</updated>
<author>
<name>Mike Christie</name>
</author>
<published>2008-08-19T23:45:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a4dfaa6f2e55b736adf2719133996f7e7dc309bc'/>
<id>urn:sha1:a4dfaa6f2e55b736adf2719133996f7e7dc309bc</id>
<content type='text'>
Currently, if there is a transport problem the iscsi drivers will return
outstanding commands (commands being exeucted by the driver/fw/hw) with
DID_BUS_BUSY and block the session so no new commands can be queued.
Commands that are caught between the failure handling and blocking are
failed with DID_IMM_RETRY or one of the scsi ml queuecommand return values.
When the recovery_timeout fires, the iscsi drivers then fail IO with
DID_NO_CONNECT.

For fcp, some drivers will fail some outstanding IO (disk but possibly not
tape) with DID_BUS_BUSY or DID_ERROR or some other value that causes a retry
and hits the scsi_error.c failfast check, block the rport, and commands
caught in the race are failed with DID_IMM_RETRY. Other drivers, may
hold onto all IO and wait for the terminate_rport_io or dev_loss_tmo_callbk
to be called.

The following patches attempt to unify what upper layers will see drivers
like multipath can make a good guess. This relies on drivers being
hooked into their transport class.

This first patch just defines two new host byte errors so drivers can
return the same value for when a rport/session is blocked and for
when the fast_io_fail_tmo fires.

The idea is that if the LLD/class detects a problem and is going to block
a rport/session, then if the LLD wants or must return the command to scsi-ml,
then it can return it with DID_TRANSPORT_DISRUPTED. This will requeue
the IO into the same scsi queue it came from, until the fast io fail timer
fires and the class decides what to do.

When using multipath and the fast_io_fail_tmo fires then the class
can fail commands with DID_TRANSPORT_FAILFAST or drivers can use
DID_TRANSPORT_FAILFAST in their terminate_rport_io callbacks or
the equivlent in iscsi if we ever implement more advanced recovery methods.
A LLD, like lpfc, could continue to return DID_ERROR and then it will hit
the normal failfast path, so drivers do not have fully be ported to
work better. The point of the patches is that upper layers will
not see a failure that could be recovered from while the rport/session is
blocked until fast_io_fail_tmo/recovery_timeout fires.

V3
Remove some comments.
V2
Fixed patch/diff errors and renamed DID_TRANSPORT_BLOCKED to
DID_TRANSPORT_DISRUPTED.
V1
initial patch.

Signed-off-by: Mike Christie &lt;michaelc@cs.wisc.edu&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] Add helper code so transport classes/driver can control queueing (v3)</title>
<updated>2008-10-13T13:28:46Z</updated>
<author>
<name>Mike Christie</name>
</author>
<published>2008-08-17T20:24:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f0c0a376d0fcd4c5579ecf5e95f88387cba85211'/>
<id>urn:sha1:f0c0a376d0fcd4c5579ecf5e95f88387cba85211</id>
<content type='text'>
SCSI-ml manages the queueing limits for the device and host, but
does not do so at the target level. However something something similar
can come in userful when a driver is transitioning a transport object to
the the blocked state, becuase at that time we do not want to queue
io and we do not want the queuecommand to be called again.

The patch adds code similar to the exisiting SCSI_ML_*BUSY handlers.
You can now return SCSI_MLQUEUE_TARGET_BUSY when we hit
a transport level queueing issue like the hw cannot allocate some
resource at the iscsi session/connection level, or the target has temporarily
closed or shrunk the queueing window, or if we are transitioning
to the blocked state.

bnx2i, when they rework their firmware according to netdev
developers requests, will also need to be able to limit queueing at this
level. bnx2i will hook into libiscsi, but will allocate a scsi host per
netdevice/hba, so unlike pure software iscsi/iser which is allocating
a host per session, it cannot set the scsi_host-&gt;can_queue and return
SCSI_MLQUEUE_HOST_BUSY to reflect queueing limits on the transport.

The iscsi class/driver can also set a scsi_target-&gt;can_queue value which
reflects the max commands the driver/class can support. For iscsi this
reflects the number of commands we can support for each session due to
session/connection hw limits, driver limits, and to also reflect the
session/targets's queueing window.

Changes:
v1 - initial patch.
v2 - Fix scsi_run_queue handling of multiple blocked targets.
Previously we would break from the main loop if a device was added back on
the starved list. We now run over the list and check if any target is
blocked.
v3 - Rediff for scsi-misc.

Signed-off-by: Mike Christie &lt;michaelc@cs.wisc.edu&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] fix check of PQ and PDT bits for WLUNs</title>
<updated>2008-08-29T14:19:11Z</updated>
<author>
<name>James Bottomley</name>
</author>
<published>2008-08-21T20:14:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=01b291bd66564b4bd826326af6bd0b6d17e99439'/>
<id>urn:sha1:01b291bd66564b4bd826326af6bd0b6d17e99439</id>
<content type='text'>
For IBM z series certain LUNs can no longer be accessed.

This is because kernel version 2.6.19 a check was introduced not to
create a generic SCSI device for devices that return PQ=1 and
PDT=0x1f. For WLUNs (see SAM-3, p. 41ff) generic SCSI devices should
be created unconditionally without looking at the PQ bit, so add a
check for WLUNs in with this test.

Acked-by: Martin Petermann &lt;martin@linux.vnet.ibm.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] scsi_dh: add generic SPC-3 alua handler</title>
<updated>2008-07-26T19:14:52Z</updated>
<author>
<name>Hannes Reinecke</name>
</author>
<published>2008-07-17T23:53:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=057ea7c9683c3d684128cced796f03c179ecf1c2'/>
<id>urn:sha1:057ea7c9683c3d684128cced796f03c179ecf1c2</id>
<content type='text'>
Signed-off-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: Chandra Seetharaman &lt;sekharan@us.ibm.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] zfcp: Move status accessors from zfcp to SCSI include file.</title>
<updated>2008-07-12T13:22:34Z</updated>
<author>
<name>Martin Petermann</name>
</author>
<published>2008-07-02T08:56:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=feac6a07c4a3578bffd6769bb4927e8a7e1f3ffe'/>
<id>urn:sha1:feac6a07c4a3578bffd6769bb4927e8a7e1f3ffe</id>
<content type='text'>
Move the accessor functions for the scsi_cmnd status from zfcp to the
SCSI include file. Change the interface to the functions to pass the
scsi_cmnd pointer instead of the status pointer.

Signed-off-by: Martin Petermann &lt;martin@linux.vnet.ibm.com&gt;
Signed-off-by: Christof Schmitt &lt;christof.schmitt@de.ibm.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] scsi_dh: add infrastructure for SCSI Device Handlers</title>
<updated>2008-06-05T14:23:40Z</updated>
<author>
<name>Chandra Seetharaman</name>
</author>
<published>2008-05-01T21:49:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a6a8d9f87eb8510a8f53672ea87703f62185d75f'/>
<id>urn:sha1:a6a8d9f87eb8510a8f53672ea87703f62185d75f</id>
<content type='text'>
Some of the storage devices (that can be accessed through multiple paths),
do need some special handling for
	1. Activating the passive path of the storage access.
	2. Decode and handle the special sense codes returned by the devices.
	3. Handle the I/Os being sent to the passive path, especially
           during the device probe time.
when accessed through multiple paths.

As of today this special device handling is done at the dm-multipath
layer using dm-handlers. That works well for (1); for (2) to be handled
at dm layer, scsi sense information need to be exported from SCSI to dm-layer,
which is not very attractive; (3) cannot be done at all at the dm layer.

Device handler has been moved to SCSI mainly to handle (2) and (3) properly.

Signed-off-by: Chandra Seetharaman &lt;sekharan@us.ibm.com&gt;
Signed-off-by: Mike Anderson &lt;andmike@linux.vnet.ibm.com&gt;
Signed-off-by: Mike Christie &lt;michaelc@cs.wisc.edu&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] add support for variable length extended commands</title>
<updated>2008-05-02T16:33:25Z</updated>
<author>
<name>Boaz Harrosh</name>
</author>
<published>2008-04-30T08:27:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=db4742dd8f0aa9125b74f9b2516336a75f3d9106'/>
<id>urn:sha1:db4742dd8f0aa9125b74f9b2516336a75f3d9106</id>
<content type='text'>
Add support for variable-length, extended, and vendor specific
CDBs to scsi-ml. It is now possible for initiators and ULD's
to issue these types of commands. LLDs need not change much.
All they need is to raise the .max_cmd_len to the longest command
they support (see iscsi patch).

- clean-up some code paths that did not expect commands to be
  larger than 16, and change cmd_len members' type to short as
  char is not enough.

Signed-off-by: Boaz Harrosh &lt;bharrosh@panasas.com&gt;
Signed-off-by: Benny Halevy &lt;bhalevy@panasas.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
</entry>
</feed>
