<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/include/target/target_core_base.h, branch v3.4.18</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v3.4.18</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v3.4.18'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2012-08-09T15:31:26+00:00</updated>
<entry>
<title>target: Add generation of LOGICAL BLOCK ADDRESS OUT OF RANGE</title>
<updated>2012-08-09T15:31:26+00:00</updated>
<author>
<name>Roland Dreier</name>
<email>roland@purestorage.com</email>
</author>
<published>2012-07-16T22:34:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=480692b1562b07a4bb8e4d6e49bf7fd2acefbea2'/>
<id>urn:sha1:480692b1562b07a4bb8e4d6e49bf7fd2acefbea2</id>
<content type='text'>
commit e2397c704429025bc6b331a970f699e52f34283e upstream.

Many SCSI commands are defined to return a CHECK CONDITION / ILLEGAL
REQUEST with ASC set to LOGICAL BLOCK ADDRESS OUT OF RANGE if the
initiator sends a command that accesses a too-big LBA.  Add an enum
value and case entries so that target code can return this status.

Signed-off-by: Roland Dreier &lt;roland@purestorage.com&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>target: Use array_zalloc for device_list</title>
<updated>2012-03-16T02:15:51+00:00</updated>
<author>
<name>Jörn Engel</name>
<email>joern@logfs.org</email>
</author>
<published>2012-03-15T19:05:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f2083241f23722207676025abbb45a301d412e69'/>
<id>urn:sha1:f2083241f23722207676025abbb45a301d412e69</id>
<content type='text'>
Turns an order-8 allocation into slab-sized ones, thereby preventing
allocation failures with memory fragmentation.

This likely saves memory as well, as the slab allocator can pack objects
more tightly than the buddy allocator.

(nab: Fix lio-core patch fuzz)

Signed-off-by: Joern Engel &lt;joern@logfs.org&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target: Use array_zalloc for tpg_lun_list</title>
<updated>2012-03-16T02:15:38+00:00</updated>
<author>
<name>Jörn Engel</name>
<email>joern@logfs.org</email>
</author>
<published>2012-03-15T19:05:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=4a5a75f32dcbcd0b2685f74fd4ede26edf8765a9'/>
<id>urn:sha1:4a5a75f32dcbcd0b2685f74fd4ede26edf8765a9</id>
<content type='text'>
Turns an order-10 allocation into slab-sized ones, thereby preventing
allocation failures with memory fragmentation.

This likely saves memory as well, as the slab allocator can pack objects
more tightly than the buddy allocator.

Signed-off-by: Joern Engel &lt;joern@logfs.org&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target: Bump core version to v4.1.0-rc2-ml + fabric versions</title>
<updated>2012-03-10T22:55:17+00:00</updated>
<author>
<name>Nicholas Bellinger</name>
<email>nab@linux-iscsi.org</email>
</author>
<published>2012-03-10T22:50:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=9765b1f327951e643a97f43924d1fbeb4e90ffba'/>
<id>urn:sha1:9765b1f327951e643a97f43924d1fbeb4e90ffba</id>
<content type='text'>
Bump core version to v4.1.0-rc2-ml, and for versions from the
following mainline fabric modules:

loopback: v2.1-rc2
tcm_fc: v0.4
iscsi-target: v4.1.0-rc2

Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target: Convert se_node_acl-&gt;acl_group removal to use -&gt;acl_kref</title>
<updated>2012-03-10T22:42:19+00:00</updated>
<author>
<name>Nicholas Bellinger</name>
<email>nab@linux-iscsi.org</email>
</author>
<published>2012-03-10T22:36:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=337c060701fb3d27d9945bf7af7ba194ae2153a8'/>
<id>urn:sha1:337c060701fb3d27d9945bf7af7ba194ae2153a8</id>
<content type='text'>
This patch converts core_tpg_del_initiator_node_acl() shutdown from configfs
context to use se_node_acl-&gt;acl_kref and -&gt;acl_free_comp in order to wait for
outstanding fabric callbacks to complete via transport_deregister_session()
callbacks before waking -&gt;acl_free_comp from the last -&gt;acl_kref put.

It also changes core_tpg_del_initiator_node_acl() to setup a local sess_list
with target_get_session() + acl-&gt;acl_stop = 1 for active sessions that will
be shutdown, and changes transport_deregister_session_configfs() to check
for -&gt;acl_stop usage.

Cc: Roland Dreier &lt;roland@purestorage.com&gt;
Cc: Christoph Hellwig &lt;hch@lst.de&gt;
Cc: Joern Engel &lt;joern@logfs.org&gt;
Cc: Andy Grover &lt;agrover@redhat.com&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target: Add se_node_acl-&gt;acl_kref for -&gt;acl_free_comp usage</title>
<updated>2012-03-10T22:42:09+00:00</updated>
<author>
<name>Nicholas Bellinger</name>
<email>nab@linux-iscsi.org</email>
</author>
<published>2012-03-09T07:45:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=afb999ffc48f5e7ec18e6f8f9e68aa3d0085862d'/>
<id>urn:sha1:afb999ffc48f5e7ec18e6f8f9e68aa3d0085862d</id>
<content type='text'>
This patch adds se_node_acl-&gt;acl_kref for use with -&gt;acl_free_comp
during explict se_node_acl release.  It adds kref_init() during
se_node_acl setup, kref_get() during __transport_register_session()
-&gt; target_put_nacl() with existing transport_deregister_session()
fabric callback usage.

It also moves transport_free_session() to release *se_sess memory
after target_put_nacl() execution in transport_deregister_session()

Cc: Roland Dreier &lt;roland@purestorage.com&gt;
Cc: Christoph Hellwig &lt;hch@lst.de&gt;
Cc: Joern Engel &lt;joern@logfs.org&gt;
Cc: Andy Grover &lt;agrover@redhat.com&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target: Add se_node_acl-&gt;acl_free_comp for NodeACL release path</title>
<updated>2012-03-10T22:41:59+00:00</updated>
<author>
<name>Nicholas Bellinger</name>
<email>nab@linux-iscsi.org</email>
</author>
<published>2012-03-10T22:32:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=01468346546a9bcc09035a7e8b71f78af5b7133a'/>
<id>urn:sha1:01468346546a9bcc09035a7e8b71f78af5b7133a</id>
<content type='text'>
Add se_node_acl-&gt;acl_free_comp for NodeACL release path to wait for outstanding
fabric session shutdown to complete in transport_deregister_session() before
finishing NodeACL release from configfs process context.

Also make transport_deregister_session() clear the comp_nacl bit
to skip se_node_acl-&gt;acl_free_comp completion for dynamically generated
NodeACL during fabric session shutdown.

Cc: Roland Dreier &lt;roland@purestorage.com&gt;
Cc: Christoph Hellwig &lt;hch@lst.de&gt;
Cc: Joern Engel &lt;joern@logfs.org&gt;
Cc: Andy Grover &lt;agrover@redhat.com&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target: Add se_sess-&gt;sess_kref + get/put helpers</title>
<updated>2012-03-10T22:41:53+00:00</updated>
<author>
<name>Nicholas Bellinger</name>
<email>nab@linux-iscsi.org</email>
</author>
<published>2012-02-27T06:22:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=41ac82b668177876d5965d5f60956fb0fbcdb514'/>
<id>urn:sha1:41ac82b668177876d5965d5f60956fb0fbcdb514</id>
<content type='text'>
This patch adds basic se_session-&gt;sess_kref and get/put helpers for fabric
session reference counting.  It sets the initial kref in transport_init_session()
and adds a target_release_session() callback to invoke TFO-&gt;close_session()
for final session shutdown.

Cc: Roland Dreier &lt;roland@purestorage.com&gt;
Cc: Christoph Hellwig &lt;hch@lst.de&gt;
Cc: Joern Engel &lt;joern@logfs.org&gt;
Cc: Andy Grover &lt;agrover@redhat.com&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target: Untangle front-end and back-end meanings of max_sectors attribute</title>
<updated>2012-02-25T22:37:49+00:00</updated>
<author>
<name>Roland Dreier</name>
<email>roland@purestorage.com</email>
</author>
<published>2012-02-14T00:18:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=015487b89f27d91d95a056cdc3c85e6c729bff12'/>
<id>urn:sha1:015487b89f27d91d95a056cdc3c85e6c729bff12</id>
<content type='text'>
se_dev_attrib.max_sectors currently has two independent meanings:

 - It is reported in the block limits VPD page as the maximum transfer
   length, ie the largest IO that the front-end (fabric) can handle.
   Also the target core doesn't enforce this maximum transfer length.

 - It is used to hold the size of the largest IO that the back-end can
   handle, so we know when to split SCSI commands into multiple tasks.

Fix this by adding a new se_dev_attrib.fabric_max_sectors to hold the
maximum transfer length, and checking incoming IOs against that limit.

Signed-off-by: Roland Dreier &lt;roland@purestorage.com&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target: Fix up handling of short INQUIRY buffers</title>
<updated>2012-02-25T22:37:49+00:00</updated>
<author>
<name>Roland Dreier</name>
<email>roland@purestorage.com</email>
</author>
<published>2012-02-14T00:18:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d95b82461c56a6ff8ff248b101049a69ebb20278'/>
<id>urn:sha1:d95b82461c56a6ff8ff248b101049a69ebb20278</id>
<content type='text'>
If the initiator sends us an INQUIRY command with an allocation length
that's shorter than what we want to return, we're simply supposed to
truncate our response and return what the initiator gave us space for,
without signaling any error.  Current target code has various tests that
don't fill out the full response if the buffer is too short and
sometimes return errors incorrectly.

Fix this up by allocating a bounce buffer for INQUIRY responses if we
need to, ie if we have cmd-&gt;data_length too small as well as
SCF_PASSTHROUGH_SG_TO_MEM_NOALLOC set in cmd-&gt;se_cmd_flags -- for most
fabrics, we always allocate at least a full page, but for tcm_loop we
may have a small buffer coming directly from the SCSI stack.

This lets us delete a lot of cmd-&gt;data_length checking, and also makes
our INQUIRY handling correct per SPC in a lot more cases.

Signed-off-by: Roland Dreier &lt;roland@purestorage.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
</feed>
