<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/target/target_core_alua.h, branch v3.17-rc3</title>
<subtitle>Linux Kernel (branches are rebased on master from time to time)</subtitle>
<id>https://sre.ring0.de/linux/atom?h=v3.17-rc3</id>
<link rel='self' href='https://sre.ring0.de/linux/atom?h=v3.17-rc3'/>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/'/>
<updated>2014-01-10T05:48:35Z</updated>
<entry>
<title>target_core_alua: Referrals configfs integration</title>
<updated>2014-01-10T05:48:35Z</updated>
<author>
<name>Hannes Reinecke</name>
<email>hare@suse.de</email>
</author>
<published>2013-12-17T08:18:50Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=229d4f112fd6d1562b6d5324c4cb8f8d097bac54'/>
<id>urn:sha1:229d4f112fd6d1562b6d5324c4cb8f8d097bac54</id>
<content type='text'>
Referrals need an LBA map, which needs to be kept
consistent across all target port groups. So
instead of tying the map to the target port groups
I've implemented a single attribute containing the
entire map.

Signed-off-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target_core_alua: Referrals infrastructure</title>
<updated>2014-01-10T05:48:17Z</updated>
<author>
<name>Hannes Reinecke</name>
<email>hare@suse.de</email>
</author>
<published>2013-12-17T08:18:49Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=c66094bf325ee406b92298d73089ee25484a0263'/>
<id>urn:sha1:c66094bf325ee406b92298d73089ee25484a0263</id>
<content type='text'>
Add infrastructure for referrals.

v2 changes:

 - Fix unsigned long long division in core_alua_state_lba_dependent on
   32-bit  (Fengguang + Chen + Hannes)
 - Fix compile warning in core_alua_state_lba_dependent (nab)
 - Convert segment_* + sectors variables in core_alua_state_lba_dependent
   to u64 (Hannes)

Signed-off-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target_core_alua: Allocate ALUA metadata on demand</title>
<updated>2013-12-17T18:33:58Z</updated>
<author>
<name>Hannes Reinecke</name>
<email>hare@suse.de</email>
</author>
<published>2013-12-17T08:18:44Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=1e0b9403bd2e77006ae8dcdf279c0f30c7efc258'/>
<id>urn:sha1:1e0b9403bd2e77006ae8dcdf279c0f30c7efc258</id>
<content type='text'>
We should only allocate ALUA metadata if we're actually going
to write them.

Signed-off-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target_core_alua: Store supported ALUA states</title>
<updated>2013-11-20T19:26:37Z</updated>
<author>
<name>Hannes Reinecke</name>
<email>hare@suse.de</email>
</author>
<published>2013-11-19T08:07:49Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=c0dc941e2bdfad4deccf3ba2626f485b5a5f59a4'/>
<id>urn:sha1:c0dc941e2bdfad4deccf3ba2626f485b5a5f59a4</id>
<content type='text'>
The supported ALUA states might be different for individual
devices, so store it in a separate field.

(nab: Remove unnecessary line continuation)

Signed-off-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target_core_alua: Rename ALUA_ACCESS_STATE_OPTIMIZED</title>
<updated>2013-11-20T19:24:57Z</updated>
<author>
<name>Hannes Reinecke</name>
<email>hare@suse.de</email>
</author>
<published>2013-11-19T08:07:48Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=73f3bf51e0b296acc58f895639be743739347da1'/>
<id>urn:sha1:73f3bf51e0b296acc58f895639be743739347da1</id>
<content type='text'>
Rename ALUA_ACCESS_STATE_OPTMIZED to
ALUA_ACCESS_STATE_OPTIMIZED.

Signed-off-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target core: rename (ex,im)plict -&gt; (ex,im)plicit</title>
<updated>2013-11-20T19:24:40Z</updated>
<author>
<name>Hannes Reinecke</name>
<email>hare@suse.de</email>
</author>
<published>2013-11-19T08:07:46Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=125d0119d158180eb38580adfbc1a83d56120709'/>
<id>urn:sha1:125d0119d158180eb38580adfbc1a83d56120709</id>
<content type='text'>
Signed-off-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target: pass sense_reason as a return value</title>
<updated>2012-11-07T04:55:46Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2012-11-06T20:24:09Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=de103c93aff0bed0ae984274e5dc8b95899badab'/>
<id>urn:sha1:de103c93aff0bed0ae984274e5dc8b95899badab</id>
<content type='text'>
Pass the sense reason as an explicit return value from the I/O submission
path instead of storing it in struct se_cmd and using negative return
values.  This cleans up a lot of the code pathes, and with the sparse
annotations for the new sense_reason_t type allows for much better
error checking.

(nab: Convert spc_emulate_modesense + spc_emulate_modeselect to use
      sense_reason_t with Roland's MODE SELECT changes)

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Cc: Roland Dreier &lt;roland@purestorage.com&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target: simplify alua support</title>
<updated>2012-11-07T04:55:45Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@infradead.org</email>
</author>
<published>2012-10-10T21:37:16Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=c87fbd5656f263f0fc1c37d20f402797c068232e'/>
<id>urn:sha1:c87fbd5656f263f0fc1c37d20f402797c068232e</id>
<content type='text'>
We always support ALUA for virtual backends, and never for physical ones.  Simplify
the code to just deal with these two cases and remove the superflous abstractions.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target: kill struct se_subsystem_dev</title>
<updated>2012-11-07T04:55:43Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@infradead.org</email>
</author>
<published>2012-10-08T04:03:19Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=0fd97ccf45be26fb01b3a412f1f6c6b5044b2f16'/>
<id>urn:sha1:0fd97ccf45be26fb01b3a412f1f6c6b5044b2f16</id>
<content type='text'>
Simplify the code a lot by killing the superflous struct se_subsystem_dev.
Instead se_device is allocated early on by the backend driver, which allocates
it as part of its own per-device structure, borrowing the scheme that is for
example used for inode allocation.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target: Add MI_REPORT_TARGET_PGS ext. header + implict_trans_secs attribute</title>
<updated>2012-05-17T07:45:58Z</updated>
<author>
<name>Nicholas Bellinger</name>
<email>nab@linux-iscsi.org</email>
</author>
<published>2012-05-17T05:02:34Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=5b9a4d7280e160982a8ea37bc03619f53b5c98b7'/>
<id>urn:sha1:5b9a4d7280e160982a8ea37bc03619f53b5c98b7</id>
<content type='text'>
This patch adds support for ALUA MI_REPORT_TARGET_PGS extended header
format defined within SPC-4.  It changes target core ALUA emulation logic
within target_emulate_report_target_port_groups() to support both the
extended and original length only header formats.

It includes adding a new 'implict_trans_secs' attribute for each ALUA
target port group to control the value returned to the application client
for an recommended implict translation timeout in seconds.  By default
this value is currently set to zero, and limited up to 255 by virtue of
using a single byte in the extended header format.

This value is used by target_emulate_report_target_port_groups() within
the extended header logic to set IMPLICIT TRANSITION TIME as defined by
spc4r30.

Cc: Hannes Reinecke &lt;hare@suse.de&gt;
Cc: Rob Evers &lt;revers@redhat.com&gt;
Cc: Christoph Hellwig &lt;hch@lst.de&gt;
Cc: Roland Dreier &lt;roland@purestorage.com&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
</feed>
