<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/include/scsi/scsi.h, branch linux-2.6.36.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.36.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.36.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2011-02-17T22:46:55Z</updated>
<entry>
<title>fix incorrect value of SCSI_MAX_SG_CHAIN_SEGMENTS due to include file ordering</title>
<updated>2011-02-17T22:46:55Z</updated>
<author>
<name>David Dillow</name>
</author>
<published>2011-01-16T20:12:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9a00ffdc0858005a186f5404a882546557cb5114'/>
<id>urn:sha1:9a00ffdc0858005a186f5404a882546557cb5114</id>
<content type='text'>
commit ac61c46f4f7665ab4548e90430c37b2529e16cff upstream.

If the compiled object doesn't include linux/scatterlist.h before
scsi/scsi.h, it will get an incorrect definition of
SCSI_MAX_SG_CHAIN_SEGMENTS.

Signed-off-by: David Dillow &lt;dillowda@ornl.gov&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>scsi: use __uX types for headers exported to user space</title>
<updated>2010-08-11T15:59:01Z</updated>
<author>
<name>Peter Korsgaard</name>
</author>
<published>2010-08-11T01:01:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=083c8c1e60e5c27a277e87dbeb6b89b47937559f'/>
<id>urn:sha1:083c8c1e60e5c27a277e87dbeb6b89b47937559f</id>
<content type='text'>
Commit 9e4f5e29 ("FC Pass Thru support") exported a number of header files
in include/scsi to user space, but didn't change the uX types to the
userspace-compatible __uX types.  Without that you'll get compile errors
when including them - E.G.:

include/scsi/scsi.h:145: error: expected specifier-qualifier-list before `u8'

Signed-off-by: Peter Korsgaard &lt;jacmet@sunsite.dk&gt;
Cc: Boaz Harrosh &lt;bharrosh@panasas.com&gt;
Cc: James Smart &lt;james.smart@emulex.com&gt;
Cc: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>[SCSI] Add missing scsi command definitions</title>
<updated>2010-04-30T17:46:17Z</updated>
<author>
<name>Martin K. Petersen</name>
</author>
<published>2010-03-23T05:13:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=59c31b69d278b760fb84266f99c1dcb0f73ec51d'/>
<id>urn:sha1:59c31b69d278b760fb84266f99c1dcb0f73ec51d</id>
<content type='text'>
Add definitions for VERIFY(12) and VERIFY(32).

Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@suse.de&gt;
</content>
</entry>
<entry>
<title>[SCSI]  Allow FC LLD to fast-fail scsi eh by introducing new eh return</title>
<updated>2010-04-11T14:49:33Z</updated>
<author>
<name>Christof Schmitt</name>
</author>
<published>2010-03-24T15:50:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2f2eb58762b4dcddfe25c90800323765c1257eca'/>
<id>urn:sha1:2f2eb58762b4dcddfe25c90800323765c1257eca</id>
<content type='text'>
If the scsi eh is running and then a FC LLD calls
fc_remote_port_delete, the SCSI commands sent from the eh will fail.
To prevent this, a FC LLD can call fc_block_scsi_eh from the eh
callback, blocking the eh thread until the dev_loss_tmo fires or the
remote port is available again.

If (e.g. for a multipathing setup) the dev_loss_tmo is set to a very
large value, thus preventing the scsi device removal , the scsi eh can
block for a long time. For multipathing, the fast_io_fail_tmo is then
set to a low value to detect path problems sooner.

This patch introduces a new return code FAST_IO_FAIL. The function
fc_block_scsi_eh now returns FAST_IO_FAIL when the fast_io_fail_tmo
fires. This indicates that the LLD terminated all pending I/O requests
and there are no more pending SCSI commands for the scsi eh to wait
for. This return code can be passed back to the scsi eh to stop the
escalation and finish the recovery process for this device.

Signed-off-by: Christof Schmitt &lt;christof.schmitt@de.ibm.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@suse.de&gt;
</content>
</entry>
<entry>
<title>[SCSI] scsi: Add missing command definitions</title>
<updated>2009-12-04T18:00:15Z</updated>
<author>
<name>Martin K. Petersen</name>
</author>
<published>2009-10-15T18:43:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f57e4502cea471c69782d4790c71d8414ab49a9d'/>
<id>urn:sha1:f57e4502cea471c69782d4790c71d8414ab49a9d</id>
<content type='text'>
Add definitions for UNMAP, WRITE SAME{16,32} and GET LBA STATUS
commands.

Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@suse.de&gt;
</content>
</entry>
<entry>
<title>[SCSI] sd: Support disks formatted with DIF Type 2</title>
<updated>2009-10-02T14:47:04Z</updated>
<author>
<name>Martin K. Petersen</name>
</author>
<published>2009-09-20T20:49:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4e7392ec582cf06753b0969ca9ab959923e38493'/>
<id>urn:sha1:4e7392ec582cf06753b0969ca9ab959923e38493</id>
<content type='text'>
Disks formatted with DIF Type 2 reject READ/WRITE 6/10/12/16 commands
when protection is enabled.  Only the 32-byte variants are supported.

Implement support for issusing 32-byte READ/WRITE and enable Type 2
drives in the protection type detection logic.

Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@suse.de&gt;
</content>
</entry>
<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>
</feed>
