<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/drivers/scsi/device_handler, branch v4.0.3</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v4.0.3</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v4.0.3'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2015-02-02T12:45:28Z</updated>
<entry>
<title>scsi: fix device handler detach oops</title>
<updated>2015-02-02T12:45:28Z</updated>
<author>
<name>Mike Christie</name>
<email>michaelc@cs.wisc.edu</email>
</author>
<published>2015-01-28T09:46:53Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=28072ad50ca7328bd99f9dba94ac27c723da0053'/>
<id>urn:sha1:28072ad50ca7328bd99f9dba94ac27c723da0053</id>
<content type='text'>
This fixes a regression caused by commit 1d5203 ("scsi: handle more device
handler setup/teardown in common code").

The bug is that the alua detach() callout will try to access the
sddev-&gt;scsi_dh_data, but we have already set it to NULL. This patch
moves the clearing of that field to after detach() is called.

Signed-off-by: Mike Christie &lt;michaelc@cs.wisc.edu&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
</content>
</entry>
<entry>
<title>scsi: handle more device handler setup/teardown in common code</title>
<updated>2014-11-12T10:19:36Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2014-09-14T18:08:21Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=1d5203284d8acbdfdf9b478d434450b34f338f28'/>
<id>urn:sha1:1d5203284d8acbdfdf9b478d434450b34f338f28</id>
<content type='text'>
Move all code to set up and tear down sdev-&gt;scsi_dh_data to common code.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reviewed-by: Mike Christie &lt;michaelc@cs.wisc.edu&gt;
Reviewed-by: Hannes Reinecke &lt;hare@suse.de&gt;
</content>
</entry>
<entry>
<title>scsi: device handlers must have attach and detach methods</title>
<updated>2014-11-12T10:19:33Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2014-09-14T03:08:44Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=1f12ffa51479741db7c4ac1b7abc21662e4ce119'/>
<id>urn:sha1:1f12ffa51479741db7c4ac1b7abc21662e4ce119</id>
<content type='text'>
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reviewed-by: Mike Christie &lt;michaelc@cs.wisc.edu&gt;
Reviewed-by: Hannes Reinecke &lt;hare@suse.de&gt;
</content>
</entry>
<entry>
<title>scsi: remove struct scsi_dh_devlist</title>
<updated>2014-11-12T10:19:29Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2014-09-14T03:05:04Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=a64d01dcf8440846f3077a436344f99313c1396c'/>
<id>urn:sha1:a64d01dcf8440846f3077a436344f99313c1396c</id>
<content type='text'>
All drivers now do their own matching, so there is no more need to expose
a device list as part of the interface.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reviewed-by: Mike Christie &lt;michaelc@cs.wisc.edu&gt;
Reviewed-by: Hannes Reinecke &lt;hare@suse.de&gt;
</content>
</entry>
<entry>
<title>scsi: use container_of to get at device handler private data</title>
<updated>2014-11-12T10:19:25Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2014-09-14T02:59:51Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=cd37743fc978a14fee75a4e662582e15d16038a3'/>
<id>urn:sha1:cd37743fc978a14fee75a4e662582e15d16038a3</id>
<content type='text'>
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reviewed-by: Mike Christie &lt;michaelc@cs.wisc.edu&gt;
Reviewed-by: Hannes Reinecke &lt;hare@suse.de&gt;
</content>
</entry>
<entry>
<title>scsi_dh: get module reference outside of device handler</title>
<updated>2014-11-12T10:19:22Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2014-09-14T02:41:16Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=27c888f0bb889693c6a3b6d39eba3265c16c072f'/>
<id>urn:sha1:27c888f0bb889693c6a3b6d39eba3265c16c072f</id>
<content type='text'>
We need to grab a reference to the module before calling the attach
routines to avoid a small race vs module removal.  It also cleans up
the code significantly as a side effect.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reviewed-by: Mike Christie &lt;michaelc@cs.wisc.edu&gt;
Reviewed-by: Hannes Reinecke &lt;hare@suse.de&gt;
</content>
</entry>
<entry>
<title>scsi_dh_hp_sw: fix return value on failed allocation</title>
<updated>2014-11-12T10:19:17Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2014-09-14T18:01:34Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=0b9c08442c5d0991dd1632fed63221f5b6a35e83'/>
<id>urn:sha1:0b9c08442c5d0991dd1632fed63221f5b6a35e83</id>
<content type='text'>
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reviewed-by: Mike Christie &lt;michaelc@cs.wisc.edu&gt;
Reviewed-by: Hannes Reinecke &lt;hare@suse.de&gt;
</content>
</entry>
<entry>
<title>scsi: TUR path is down after adapter gets reset with multipath</title>
<updated>2014-11-10T14:23:27Z</updated>
<author>
<name>wenxiong@linux.vnet.ibm.com</name>
<email>wenxiong@linux.vnet.ibm.com</email>
</author>
<published>2014-11-06T21:11:23Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=333b2448cf5bd5a94c91a77136cac837d38fb984'/>
<id>urn:sha1:333b2448cf5bd5a94c91a77136cac837d38fb984</id>
<content type='text'>
This patch fixes an issue with multipath ipr SAS devices which require a
start unit command to be issued following an adapter reset. Without this
patch, paths get marked failed following an adapter reset and since the
error handler never gets invoked to issue the start unit, the paths are
never recovered. Returning FAILED for this case ensures the error
handler wakes up to issue the start unit.

Signed-off-by: Brian King &lt;brking@linux.vnet.ibm.com&gt;
Tested-by: Wen Xiong &lt;wenxiong@linux.vnet.ibm.com&gt;
Reviewed-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
</content>
</entry>
<entry>
<title>block,scsi: fixup blk_get_request dead queue scenarios</title>
<updated>2014-08-28T16:03:46Z</updated>
<author>
<name>Joe Lawrence</name>
<email>joe.lawrence@stratus.com</email>
</author>
<published>2014-08-28T14:15:21Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=a492f075450f3ba87de36e5ffe92a9d0c7af9723'/>
<id>urn:sha1:a492f075450f3ba87de36e5ffe92a9d0c7af9723</id>
<content type='text'>
The blk_get_request function may fail in low-memory conditions or during
device removal (even if __GFP_WAIT is set). To distinguish between these
errors, modify the blk_get_request call stack to return the appropriate
ERR_PTR. Verify that all callers check the return status and consider
IS_ERR instead of a simple NULL pointer check.

For consistency, make a similar change to the blk_mq_alloc_request leg
of blk_get_request.  It may fail if the queue is dead, or the caller was
unwilling to wait.

Signed-off-by: Joe Lawrence &lt;joe.lawrence@stratus.com&gt;
Acked-by: Jiri Kosina &lt;jkosina@suse.cz&gt; [for pktdvd]
Acked-by: Boaz Harrosh &lt;bharrosh@panasas.com&gt; [for osd]
Reviewed-by: Jeff Moyer &lt;jmoyer@redhat.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
</entry>
<entry>
<title>block: add blk_rq_set_block_pc()</title>
<updated>2014-06-06T13:57:37Z</updated>
<author>
<name>Jens Axboe</name>
<email>axboe@fb.com</email>
</author>
<published>2014-06-06T13:57:37Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=f27b087b81b70513b8c61ec20596c868f7b93474'/>
<id>urn:sha1:f27b087b81b70513b8c61ec20596c868f7b93474</id>
<content type='text'>
With the optimizations around not clearing the full request at alloc
time, we are leaving some of the needed init for REQ_TYPE_BLOCK_PC
up to the user allocating the request.

Add a blk_rq_set_block_pc() that sets the command type to
REQ_TYPE_BLOCK_PC, and properly initializes the members associated
with this type of request. Update callers to use this function instead
of manipulating rq-&gt;cmd_type directly.

Includes fixes from Christoph Hellwig &lt;hch@lst.de&gt; for my half-assed
attempt.

Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
</entry>
</feed>
