<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/scsi, branch v2.6.27</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>[SCSI] qlogicpti: fix sg list traversal error in continuation entries</title>
<updated>2008-09-28T22:10:40+00:00</updated>
<author>
<name>Boaz Harrosh</name>
<email>bharrosh@panasas.com</email>
</author>
<published>2008-09-24T09:00:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=c9eeb248f3b44939532a9716bc06413383aa5d63'/>
<id>c9eeb248f3b44939532a9716bc06413383aa5d63</id>
<content type='text'>
The current sg list traversal logic for the continuation entries
doesn't advance the list pointer once all seven slots are used, so the
next continuation entry (if there is one) wrongly begins again at the
start of the sg list.

Fix by advancing the sg pointer after the for_each_sg().

Reported-by: Meelis Roos &lt;mroos@ut.ee&gt;
Cc: David Miller &lt;davem@davemloft.net&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The current sg list traversal logic for the continuation entries
doesn't advance the list pointer once all seven slots are used, so the
next continuation entry (if there is one) wrongly begins again at the
start of the sg list.

Fix by advancing the sg pointer after the for_each_sg().

Reported-by: Meelis Roos &lt;mroos@ut.ee&gt;
Cc: David Miller &lt;davem@davemloft.net&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[SCSI] Fix hang with split requests</title>
<updated>2008-09-23T19:29:01+00:00</updated>
<author>
<name>James Bottomley</name>
<email>James.Bottomley@HansenPartnership.com</email>
</author>
<published>2008-09-20T00:31:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=44ea91c597ae4641d9ac21b8bbba0795d2f4261e'/>
<id>44ea91c597ae4641d9ac21b8bbba0795d2f4261e</id>
<content type='text'>
Sometimes, particularly for USB devices with the last sector bug,
requests get completed in chunks.  There's a bug in this in that if
one of the chunks gets an error, we complete that chunk with an error
but never move on to the remaining ones, leading to the request
hanging (because it's not fully completed).

Fix this by completing all remaining chunks if an error is encountered.

Cc: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Sometimes, particularly for USB devices with the last sector bug,
requests get completed in chunks.  There's a bug in this in that if
one of the chunks gets an error, we complete that chunk with an error
but never move on to the remaining ones, leading to the request
hanging (because it's not fully completed).

Fix this by completing all remaining chunks if an error is encountered.

Cc: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[SCSI] qla2xxx: Defer enablement of RISC interrupts until ISP initialization completes.</title>
<updated>2008-09-13T18:12:58+00:00</updated>
<author>
<name>Andrew Vasquez</name>
<email>andrew.vasquez@qlogic.com</email>
</author>
<published>2008-09-12T05:19:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=048feec5548c0582ee96148c61b87cccbcb5f9be'/>
<id>048feec5548c0582ee96148c61b87cccbcb5f9be</id>
<content type='text'>
Josip Rodin noted
(http://article.gmane.org/gmane.linux.ports.sparc/10152) the
driver oopsing during registration of an rport to the
FC-transport layer with a backtrace indicating a dereferencing of
an shost-&gt;shost_data equal to NULL.  David Miller identified a
small window in driver logic where this could happen:

    &gt; Look at how the driver registers the IRQ handler before the host has
    &gt; been registered with the SCSI layer.
    &gt;
    &gt; That leads to a window of time where the shost hasn't been setup
    &gt; fully, yet ISRs can come in and trigger DPC thread events, such as
    &gt; loop resyncs, which expect the transport area to be setup.
    &gt;
    &gt; But it won't be setup, because scsi_add_host() hasn't finished yet.
    &gt;
    &gt; Note that in Josip's crash log, we don't even see the
    &gt;
    &gt;         qla_printk(KERN_INFO, ha, "\n"
    &gt;             " QLogic Fibre Channel HBA Driver: %s\n"
    &gt;             "  QLogic %s - %s\n"
    &gt;             "  ISP%04X: %s @ %s hdma%c, host#=%ld, fw=%s\n",
    &gt;  ...
    &gt;
    &gt; message yet.
    &gt;
    &gt; Which means that the crash occurs between qla2x00_request_irqs()
    &gt; and printing that message.

Close this window by enabling RISC interrupts after the host has
been registered with the SCSI midlayer.

Reported-by: Josip Rodin &lt;joy@entuzijast.net&gt;
Cc: Stable Tree &lt;stable@kernel.org&gt;
Signed-off-by: Andrew Vasquez &lt;andrew.vasquez@qlogic.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Josip Rodin noted
(http://article.gmane.org/gmane.linux.ports.sparc/10152) the
driver oopsing during registration of an rport to the
FC-transport layer with a backtrace indicating a dereferencing of
an shost-&gt;shost_data equal to NULL.  David Miller identified a
small window in driver logic where this could happen:

    &gt; Look at how the driver registers the IRQ handler before the host has
    &gt; been registered with the SCSI layer.
    &gt;
    &gt; That leads to a window of time where the shost hasn't been setup
    &gt; fully, yet ISRs can come in and trigger DPC thread events, such as
    &gt; loop resyncs, which expect the transport area to be setup.
    &gt;
    &gt; But it won't be setup, because scsi_add_host() hasn't finished yet.
    &gt;
    &gt; Note that in Josip's crash log, we don't even see the
    &gt;
    &gt;         qla_printk(KERN_INFO, ha, "\n"
    &gt;             " QLogic Fibre Channel HBA Driver: %s\n"
    &gt;             "  QLogic %s - %s\n"
    &gt;             "  ISP%04X: %s @ %s hdma%c, host#=%ld, fw=%s\n",
    &gt;  ...
    &gt;
    &gt; message yet.
    &gt;
    &gt; Which means that the crash occurs between qla2x00_request_irqs()
    &gt; and printing that message.

Close this window by enabling RISC interrupts after the host has
been registered with the SCSI midlayer.

Reported-by: Josip Rodin &lt;joy@entuzijast.net&gt;
Cc: Stable Tree &lt;stable@kernel.org&gt;
Signed-off-by: Andrew Vasquez &lt;andrew.vasquez@qlogic.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block</title>
<updated>2008-09-11T15:42:55+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2008-09-11T15:42:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=6d242a263618ba7f0f9a41dd91b347d19e704bbe'/>
<id>6d242a263618ba7f0f9a41dd91b347d19e704bbe</id>
<content type='text'>
* 'for-linus' of git://git.kernel.dk/linux-2.6-block:
  block: disable sysfs parts of the disk command filter
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 'for-linus' of git://git.kernel.dk/linux-2.6-block:
  block: disable sysfs parts of the disk command filter
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6</title>
<updated>2008-09-11T15:41:17+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2008-09-11T15:41:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=29cd195e078db0d90dd447a156039513ecdd8f16'/>
<id>29cd195e078db0d90dd447a156039513ecdd8f16</id>
<content type='text'>
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
  [SCSI] fix check of PQ and PDT bits for WLUNs
  [SCSI] make scsi_check_sense HARDWARE_ERROR return ADD_TO_MLQUEUE on retry
  [SCSI] scsi_dh: make check_sense return ADD_TO_MLQUEUE
  [SCSI] zfcp: Remove duplicated unlikely() macros.
  [SCSI] zfcp: channel cannot be detached due to refcount imbalance
  [SCSI] zfcp: Fix reference counter for remote ports
  [SCSI] zfcp: Simplify ccw notify handler
  [SCSI] zfcp: Correctly query end flag in gpn_ft response
  [SCSI] zfcp: Fix request queue locking
  [SCSI] sd: select CRC_T10DIF only when necessary
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
  [SCSI] fix check of PQ and PDT bits for WLUNs
  [SCSI] make scsi_check_sense HARDWARE_ERROR return ADD_TO_MLQUEUE on retry
  [SCSI] scsi_dh: make check_sense return ADD_TO_MLQUEUE
  [SCSI] zfcp: Remove duplicated unlikely() macros.
  [SCSI] zfcp: channel cannot be detached due to refcount imbalance
  [SCSI] zfcp: Fix reference counter for remote ports
  [SCSI] zfcp: Simplify ccw notify handler
  [SCSI] zfcp: Correctly query end flag in gpn_ft response
  [SCSI] zfcp: Fix request queue locking
  [SCSI] sd: select CRC_T10DIF only when necessary
</pre>
</div>
</content>
</entry>
<entry>
<title>block: disable sysfs parts of the disk command filter</title>
<updated>2008-09-11T12:20:23+00:00</updated>
<author>
<name>Jens Axboe</name>
<email>jens.axboe@oracle.com</email>
</author>
<published>2008-09-11T12:20:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=2dc75d3c3b49c64fd26b4832a7efb75546cb3fc5'/>
<id>2dc75d3c3b49c64fd26b4832a7efb75546cb3fc5</id>
<content type='text'>
We still have life time issues with the sysfs command filter kobject,
so disable it for 2.6.27 release. We can revisit this and make it work
properly for 2.6.28, for 2.6.27 release it's too risky.

Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We still have life time issues with the sysfs command filter kobject,
so disable it for 2.6.27 release. We can revisit this and make it work
properly for 2.6.28, for 2.6.27 release it's too risky.

Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[SCSI] fix check of PQ and PDT bits for WLUNs</title>
<updated>2008-08-29T14:19:11+00:00</updated>
<author>
<name>James Bottomley</name>
<email>James.Bottomley@HansenPartnership.com</email>
</author>
<published>2008-08-21T20:14:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=01b291bd66564b4bd826326af6bd0b6d17e99439'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;
</pre>
</div>
</content>
</entry>
<entry>
<title>[SCSI] make scsi_check_sense HARDWARE_ERROR return ADD_TO_MLQUEUE on retry</title>
<updated>2008-08-29T14:15:06+00:00</updated>
<author>
<name>Mike Anderson</name>
<email>andmike@linux.vnet.ibm.com</email>
</author>
<published>2008-08-12T19:11:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=bb0003c1e189d5766b6b39299b08c690c985c4dc'/>
<id>bb0003c1e189d5766b6b39299b08c690c985c4dc</id>
<content type='text'>
Change scsi_check_sense HARDWARE_ERROR check to return ADD_TO_MLQUEUE
if device-&gt;retry_hwerror is set to allow retries to occur without
restriction of blk_noretry_request check.

Signed-off-by: Mike Anderson &lt;andmike@linux.vnet.ibm.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change scsi_check_sense HARDWARE_ERROR check to return ADD_TO_MLQUEUE
if device-&gt;retry_hwerror is set to allow retries to occur without
restriction of blk_noretry_request check.

Signed-off-by: Mike Anderson &lt;andmike@linux.vnet.ibm.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[SCSI] scsi_dh: make check_sense return ADD_TO_MLQUEUE</title>
<updated>2008-08-29T14:13:51+00:00</updated>
<author>
<name>Mike Anderson</name>
<email>andmike@linux.vnet.ibm.com</email>
</author>
<published>2008-08-12T19:11:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=c7dbb627a2505f42b2e6b3581f3716d73453dd0c'/>
<id>c7dbb627a2505f42b2e6b3581f3716d73453dd0c</id>
<content type='text'>
Change scsi_dh check_sense functions to return ADD_TO_MLQUEUE
to allow retries to occur without restriction of blk_noretry_request
check.

Signed-off-by: Mike Anderson &lt;andmike@linux.vnet.ibm.com&gt;
Acked-by: Chandra Seetharaman &lt;sekharan@us.ibm.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change scsi_dh check_sense functions to return ADD_TO_MLQUEUE
to allow retries to occur without restriction of blk_noretry_request
check.

Signed-off-by: Mike Anderson &lt;andmike@linux.vnet.ibm.com&gt;
Acked-by: Chandra Seetharaman &lt;sekharan@us.ibm.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[SCSI] sd: select CRC_T10DIF only when necessary</title>
<updated>2008-08-29T13:59:50+00:00</updated>
<author>
<name>Stefan Richter</name>
<email>stefanr@s5r6.in-berlin.de</email>
</author>
<published>2008-08-02T17:49:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=bfad9ceac5d11318c99ae8a0d1e926a380a56edd'/>
<id>bfad9ceac5d11318c99ae8a0d1e926a380a56edd</id>
<content type='text'>
Signed-off-by: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt;
Acked-by: "Martin K. Petersen" &lt;martin.petersen@oracle.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt;
Acked-by: "Martin K. Petersen" &lt;martin.petersen@oracle.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
