<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/scsi/scsi_error.c, branch linux-2.6.33.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.33.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.33.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2010-05-12T22:03:16Z</updated>
<entry>
<title>SCSI: Retry commands with UNIT_ATTENTION sense codes to fix ext3/ext4 I/O error</title>
<updated>2010-05-12T22:03:16Z</updated>
<author>
<name>James Bottomley</name>
</author>
<published>2010-05-04T20:51:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=79d1e78997cd0030d4b449f4b8df46f933c480d7'/>
<id>urn:sha1:79d1e78997cd0030d4b449f4b8df46f933c480d7</id>
<content type='text'>
commit 77a4229719e511a0d38d9c355317ae1469adeb54 upstream.

There's nastyness in the way we currently handle barriers (and
discards): They're effectively filesystem commands, but they get
processed as BLOCK_PC commands.  Unfortunately BLOCK_PC commands are
taken by SCSI to be SG_IO commands and the issuer expects to see and
handle any returned errors, however trivial.  This leads to a huge
problem, because the block layer doesn't expect this to happen and any
trivially retryable error on a barrier causes an immediate I/O error
to the filesystem.

The only real way to hack around this is to take the usual class of
offending errors (unit attentions) and make them all retryable in the
case of a REQ_HARDBARRIER.  A correct fix would involve a rework of
the entire block and SCSI submit system, and so is out of scope for a
quick fix.

Cc: Hannes Reinecke &lt;hare@suse.de&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] add queue_depth ramp up code</title>
<updated>2009-12-04T18:00:44Z</updated>
<author>
<name>Vasu Dev</name>
</author>
<published>2009-10-22T22:46:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4a84067dbfce436b81779e585bf712b02ceee552'/>
<id>urn:sha1:4a84067dbfce436b81779e585bf712b02ceee552</id>
<content type='text'>
Current FC HBA queue_depth ramp up code depends on last queue
full time. The sdev already  has last_queue_full_time field to
track last queue full time but stored value is truncated by
last four bits.

So this patch updates last_queue_full_time without truncating
last 4 bits to store full value and then updates its only
current usages in scsi_track_queue_full to ignore last four bits
to keep current usages same while also use this field
in added ramp up code.

Adds scsi_handle_queue_ramp_up to ramp up queue_depth on
successful completion of IO. The scsi_handle_queue_ramp_up will
do ramp up on all luns of a target, just same as ramp down done
on all luns on a target.

The ramp up is skipped in case the change_queue_depth is not
supported by LLD or already reached to added max_queue_depth.

Updates added max_queue_depth on every new update to default
queue_depth value.

The ramp up is also skipped if lapsed time since either last
queue ramp up or down is less than LLD specified
queue_ramp_up_period.

Adds queue_ramp_up_period to sysfs but only if change_queue_depth
is supported since ramp up and queue_ramp_up_period is needed only
in case change_queue_depth is supported first.

Initializes queue_ramp_up_period to 120HZ jiffies as initial
default value, it is same as used in existing lpfc and qla2xxx.

-v2
 Combined all ramp code into this single patch.

-v3
 Moves max_queue_depth initialization after slave_configure is
called from after slave_alloc calling done. Also adjusted
max_queue_depth check to skip ramp up if current queue_depth
is &gt;= max_queue_depth.

-v4
 Changes sdev-&gt;queue_ramp_up_period unit to ms when using sysfs i/f
to store or show its value.

Signed-off-by: Vasu Dev &lt;vasu.dev@intel.com&gt;
Tested-by: Christof Schmitt &lt;christof.schmitt@de.ibm.com&gt;
Tested-by: Giridhar Malavali &lt;giridhar.malavali@qlogic.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@suse.de&gt;
</content>
</entry>
<entry>
<title>[SCSI] scsi error: have scsi-ml call change_queue_depth to handle QUEUE_FULL</title>
<updated>2009-12-04T18:00:42Z</updated>
<author>
<name>Mike Christie</name>
</author>
<published>2009-10-16T00:46:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=42a6a91833f1e0f5ee5b5ef98e9f00167b615f46'/>
<id>urn:sha1:42a6a91833f1e0f5ee5b5ef98e9f00167b615f46</id>
<content type='text'>
This has scsi-ml call the change_queue_depth functions when
we get a QUEUE_FULL. It will only change the queue depth if
change_queue_depth is set because the LLD may have to
modify some internal resources, so I thought this would
be the safest route.

Signed-off-by: Mike Christie &lt;michaelc@cs.wisc.edu&gt;

-v2
Limits change_queue_depth to only all luns of target by adding
channel check while iterating for all luns of Scsi_Host. This is
same as currently qla2xxx FC HBA does on QUEUE_FULL event.

Signed-off-by: Vasu Dev &lt;vasu.dev@intel.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@suse.de&gt;
</content>
</entry>
<entry>
<title>[SCSI] Retry ADD_TO_MLQUEUE return value for EH commands</title>
<updated>2009-10-02T14:46:11Z</updated>
<author>
<name>Hannes Reinecke</name>
</author>
<published>2009-09-17T15:00:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6e883b0e42739aa560133cfaf41be1138c51a500'/>
<id>urn:sha1:6e883b0e42739aa560133cfaf41be1138c51a500</id>
<content type='text'>
A target reset when I/O is ongoing might result
an eventual device offline, as scsi_eh_completed_normally()
might return ADD_TO_MLQUEUE in addition to the
advertised SUCCESS, FAILED, and NEEDS_RETRY.

Which is unfortunate as scsi_send_eh_cmnd() will
therefore map ADD_TO_MLQUEUE to FAILED instead of
the more appropriate NEEDS_RETRY.

Signed-off-by: Hannes Reinecke &lt;hare@suse.de&gt;
Cc: Stable Tree &lt;stable@kernel.org&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@suse.de&gt;
</content>
</entry>
<entry>
<title>[SCSI] reservation conflict after timeout causes device to be taken offline</title>
<updated>2009-08-22T22:52:22Z</updated>
<author>
<name>Michael Reed</name>
</author>
<published>2009-08-10T16:59:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5f91bb050ecc4ff1d8d3d07edbe550c8f431c5e1'/>
<id>urn:sha1:5f91bb050ecc4ff1d8d3d07edbe550c8f431c5e1</id>
<content type='text'>
An IBM tape drive failed to complete a PERSISTENT RESERVE IN within the scsi
cmd timeout.  Error recovery was initiated and it sequenced from abort through
taking the tape drive offline.

The device was taken offline because it repeatedly responded to the TUR command
issued by error recovery with a RESERVATION CONFLICT status.  The tape drive
was reserved to another system.  This is perfectly legitimate response to TUR,
and is one that an escalation of recovery is unlikely to clear.  Further,
escalation of recovery can have undesirable side effects on the operation of
tape drives shared with other initiators.

Instead of escalating recovery, error recovery should treat the RESERVATION
CONFLICT response to the TUR as a good status, giving the issuer of the
command the opportunity to handle the timeout and reservation conflict.

Signed-off-by: Michael reed &lt;mdr@sgi.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@suse.de&gt;
</content>
</entry>
<entry>
<title>[SCSI] fix up scsi_eh_lock_door()</title>
<updated>2009-06-08T17:47:40Z</updated>
<author>
<name>James Bottomley</name>
</author>
<published>2009-05-17T14:30:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=91bc31fb3bae4e55832c7c39d4f9c193285e6ab2'/>
<id>urn:sha1:91bc31fb3bae4e55832c7c39d4f9c193285e6ab2</id>
<content type='text'>
The Documentation is incorrect (we removed some functions referred to), and
none of the bug warnings now apply.  Additionally remove the spurious check on
the return from blk_get_request() which can't fail if __GFP_WAIT is passed in.

Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] fix documentation for two functions</title>
<updated>2009-06-08T17:23:35Z</updated>
<author>
<name>Bartlomiej Zolnierkiewicz</name>
</author>
<published>2009-04-27T18:54:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=477e608c03eb2f561a23994bee38a32a9fd3357d'/>
<id>urn:sha1:477e608c03eb2f561a23994bee38a32a9fd3357d</id>
<content type='text'>
Signed-off-by: Bartlomiej Zolnierkiewicz &lt;bzolnier@gmail.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] remove scsi_req_map_sg</title>
<updated>2009-03-12T17:58:10Z</updated>
<author>
<name>FUJITA Tomonori</name>
</author>
<published>2008-12-13T16:23:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f078727b250c2653fc9a564f15547c17ebac3f99'/>
<id>urn:sha1:f078727b250c2653fc9a564f15547c17ebac3f99</id>
<content type='text'>
No one uses scsi_execute_async with data transfer now. We can remove
scsi_req_map_sg.

Only scsi_eh_lock_door uses scsi_execute_async. scsi_eh_lock_door
doesn't handle sense and the callback. So we can remove
scsi_io_context too.

Signed-off-by: FUJITA Tomonori &lt;fujita.tomonori@lab.ntt.co.jp&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6</title>
<updated>2009-01-09T00:27:31Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2009-01-09T00:27:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cd764695b67386a81964f68e9c66efd9f13f4d29'/>
<id>urn:sha1:cd764695b67386a81964f68e9c66efd9f13f4d29</id>
<content type='text'>
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (45 commits)
  [SCSI] qla2xxx: Update version number to 8.03.00-k1.
  [SCSI] qla2xxx: Add ISP81XX support.
  [SCSI] qla2xxx: Use proper request/response queues with MQ instantiations.
  [SCSI] qla2xxx: Correct MQ-chain information retrieval during a firmware dump.
  [SCSI] qla2xxx: Collapse EFT/FCE copy procedures during a firmware dump.
  [SCSI] qla2xxx: Don't pollute kernel logs with ZIO/RIO status messages.
  [SCSI] qla2xxx: Don't fallback to interrupt-polling during re-initialization with MSI-X enabled.
  [SCSI] qla2xxx: Remove support for reading/writing HW-event-log.
  [SCSI] cxgb3i: add missing include
  [SCSI] scsi_lib: fix DID_RESET status problems
  [SCSI] fc transport: restore missing dev_loss_tmo callback to LLDD
  [SCSI] aha152x_cs: Fix regression that keeps driver from using shared interrupts
  [SCSI] sd: Correctly handle 6-byte commands with DIX
  [SCSI] sd: DIF: Fix tagging on platforms with signed char
  [SCSI] sd: DIF: Show app tag on error
  [SCSI] Fix error handling for DIF/DIX
  [SCSI] scsi_lib: don't decrement busy counters when inserting commands
  [SCSI] libsas: fix test for negative unsigned and typos
  [SCSI] a2091, gvp11: kill warn_unused_result warnings
  [SCSI] fusion: Move a dereference below a NULL test
  ...

Fixed up trivial conflict due to moving the async part of sd_probe
around in the async probes vs using dev_set_name() in naming.
</content>
</entry>
<entry>
<title>trivial: fix singal -&gt; signal typo</title>
<updated>2009-01-06T10:28:06Z</updated>
<author>
<name>Frederik Schwarzer</name>
</author>
<published>2008-12-22T23:54:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c03264a790acacb94839be11b95ff9363a768f6b'/>
<id>urn:sha1:c03264a790acacb94839be11b95ff9363a768f6b</id>
<content type='text'>
Typo fix.

Signed-off-by: Frederik Schwarzer &lt;schwarzerf@gmail.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
</feed>
