<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/include/target, branch v3.1-rc8</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/include/target?h=v3.1-rc8</id>
<link rel='self' href='https://git.amat.us/linux/atom/include/target?h=v3.1-rc8'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2011-08-22T19:25:35Z</updated>
<entry>
<title>target: Make standard INQUIRY return 'not connected' for tpg_virt_lun0</title>
<updated>2011-08-22T19:25:35Z</updated>
<author>
<name>Nicholas Bellinger</name>
<email>nab@linux-iscsi.org</email>
</author>
<published>2011-07-27T00:48:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=052605c6caa3e1edf8eee8fe5fe6d53f5721f39a'/>
<id>urn:sha1:052605c6caa3e1edf8eee8fe5fe6d53f5721f39a</id>
<content type='text'>
This patch changes target_emulate_inquiry_std() to set the 'not connected'
(0x35) bit in standard INQUIRY response data when we are processing a
request to a virtual LUN=0 mapping from struct se_device *g_lun0_dev that
have been setup for us in transport_lookup_cmd_lun().

This addresses an issue where qla2xxx FC clients need to be able
to create demo-mode I_T FC Nexuses by default, but should not be
exposing the default set of TPG LUNs to all FC clients.  This includes
adding an new optional target_core_fabric_ops-&gt;tpg_check_demo_mode_login_only()
caller to allow demo_mode nexuses to skip the old default of bulding
a demo-mode MappedLUNs list via core_tpg_add_node_to_devs().

(roland: Add missing tpg_check_demo_mode_login_only check in core_dev_add_lun)

Reported-by: Roland Dreier &lt;roland@purestorage.com&gt;
Cc: Andrew Vasquez &lt;andrew.vasquez@qlogic.com&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@risingtidesystems.com&gt;
</content>
</entry>
<entry>
<title>target: Bump version to v4.1.0-rc1-ml</title>
<updated>2011-07-22T09:37:49Z</updated>
<author>
<name>Nicholas Bellinger</name>
<email>nab@linux-iscsi.org</email>
</author>
<published>2011-07-22T08:24:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=fa4951595648c14754621c99a07c47c9b9dcf05b'/>
<id>urn:sha1:fa4951595648c14754621c99a07c47c9b9dcf05b</id>
<content type='text'>
This patch bumps the target core version to v4.1.0-rc1 now that we are
in sync with upstream lio-core-2.6.git/master

Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target: remove custom hex2bin() implementation</title>
<updated>2011-07-22T09:37:49Z</updated>
<author>
<name>Andy Shevchenko</name>
<email>andriy.shevchenko@linux.intel.com</email>
</author>
<published>2011-07-19T05:26:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=11650b859681e03fdbf26277fcfc5f1f62186703'/>
<id>urn:sha1:11650b859681e03fdbf26277fcfc5f1f62186703</id>
<content type='text'>
This patch drops transport_asciihex_to_binaryhex() in favor of proper
hex2bin usage from include/linux/kernel.h:hex2bin()

Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target: Update QUEUE ALGORITHM MODIFIER control page default</title>
<updated>2011-07-22T09:37:49Z</updated>
<author>
<name>Nicholas Bellinger</name>
<email>nab@linux-iscsi.org</email>
</author>
<published>2011-07-17T09:57:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5de619a31d9cb051d1f818e661af4e54def82316'/>
<id>urn:sha1:5de619a31d9cb051d1f818e661af4e54def82316</id>
<content type='text'>
This patch adds the default 'Unrestricted reordering allowed' for SCSI
control mode page QUEUE ALGORITHM MODIFIER on a per se_device basis in
target_modesense_control() following spc4r23.  This includes a new
emuluate_rest_reord configfs attribute that currently (only) accepts
zero to signal 'Unrestricted reordering allowed' in control mode page
usage by the backend target device.

Reported-by: Roland Dreier &lt;roland@purestorage.com&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@risingtidesystems.com&gt;
</content>
</entry>
<entry>
<title>target: -&gt;map_task_SG conversion to -&gt;map_control_SG and -&gt;map_data_SG</title>
<updated>2011-07-22T09:37:48Z</updated>
<author>
<name>Nicholas Bellinger</name>
<email>nab@linux-iscsi.org</email>
</author>
<published>2011-07-21T04:41:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1d20bb6147954d4fbd337a3d1b40c7eeae254cd7'/>
<id>urn:sha1:1d20bb6147954d4fbd337a3d1b40c7eeae254cd7</id>
<content type='text'>
This patch breaks up the -&gt;map_task_SG() backend call into two seperate
-&gt;map_control_SG() and -&gt;map_data_SG() in order to better address
IBLOCK and pSCSI.  IBLOCK only allocates bios for -&gt;map_data_SG(), and
pSCSI will allocate a struct request for both cases.

This patch fixes incorrect usage of -&gt;map_task_SG() for all se_cmd descriptors
in transport_generic_new_cmd() by moving the call into it's proper location
directly inside of transport_allocate_data_tasks()

Reported-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target: Follow up core updates from AGrover and HCH (round 4)</title>
<updated>2011-07-22T09:37:48Z</updated>
<author>
<name>Andy Grover</name>
<email>agrover@redhat.com</email>
</author>
<published>2011-06-08T17:36:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6708bb27bb2703da238f21f516034263348af5be'/>
<id>urn:sha1:6708bb27bb2703da238f21f516034263348af5be</id>
<content type='text'>
This patch contains the squashed version of forth round series cleanups
from Andy and Christoph following the post heavy lifting in the preceeding:
'Eliminate usage of struct se_mem' and 'Make all control CDBs scatter-gather'
changes.  This also includes a conversion of target core and the v3.0
mainline fabric modules (loopback and tcm_fc) to use pr_debug and the
CONFIG_DYNAMIC_DEBUG infrastructure!

These have been squashed into this third and final round for v3.1.

target: Remove ifdeffed code in t_g_process_write
target: Remove direct ramdisk code
target: Rename task_sg_num to task_sg_nents
target: Remove custom debug macros for pr_debug. Use pr_err().
target: Remove custom debug macros in mainline fabrics
target: Set WSNZ=1 in block limits VPD. Abort if WRITE_SAME sectors = 0
target: Remove transport do_se_mem_map callback
target: Further simplify transport_free_pages
target: Redo task allocation return value handling
target: Remove extra parentheses
target: change alloc_task call to take *cdb, not *cmd

(nab: Fix bogus struct file assignments in fd_do_readv and fd_do_writev)

Signed-off-by: Andy Grover &lt;agrover@redhat.com&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target: Eliminate usage of struct se_mem</title>
<updated>2011-07-22T09:37:48Z</updated>
<author>
<name>Andy Grover</name>
<email>agrover@redhat.com</email>
</author>
<published>2011-07-20T19:28:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ec98f7825c6eaa4a9afb0eb518826efc8a2ed4a2'/>
<id>urn:sha1:ec98f7825c6eaa4a9afb0eb518826efc8a2ed4a2</id>
<content type='text'>
Both backstores and fabrics use arrays of struct scatterlist to describe
data buffers. However TCM used struct se_mems, basically a linked list
of scatterlist entries. We are able to simplify the code by eliminating
this intermediate data structure and just using struct scatterlist[]
throughout.

Also, moved attachment of task to cmd out of transport_generic_get_task
and into allocate_control_task and allocate_data_tasks. The reasoning
is that it's nonintuitive that get_task should automatically add it to
the cmd's task list -- it should just return an allocated, initialized
task. That's all it should do, based on the function's name, so either the
function shouldn't do it, or the name should change to encapsulate the
entire essence of what it does.

(nab: Fix compile warnings in tcm_fc, and make transport_kmap_first_data_page
 honor sg-&gt;offset for SGLs from contigious memory with TCM_Loop, and
 fix control se_cmd descriptor memory leak)

Signed-off-by: Andy Grover &lt;agrover@redhat.com&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target: Pass 2nd param of transport_split_cdb by value</title>
<updated>2011-07-22T09:37:48Z</updated>
<author>
<name>Andy Grover</name>
<email>agrover@redhat.com</email>
</author>
<published>2011-06-28T17:31:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3a86720567fd92819b449df10db85a2f73447d87'/>
<id>urn:sha1:3a86720567fd92819b449df10db85a2f73447d87</id>
<content type='text'>
Since sectors is not modified, it's more straightforward to do this.

Signed-off-by: Andy Grover &lt;agrover@redhat.com&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target: Enforce 1 page max for control cdb buffer sizes</title>
<updated>2011-07-22T09:37:48Z</updated>
<author>
<name>Andy Grover</name>
<email>agrover@redhat.com</email>
</author>
<published>2011-07-09T00:04:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d0229ae3fed59b4009e33f836d9ad4e312294d46'/>
<id>urn:sha1:d0229ae3fed59b4009e33f836d9ad4e312294d46</id>
<content type='text'>
Due to all cdbs' data buffers being referenced by scatterlists, buffers
of more than a page are not contiguous. Instead of handling this in all
control command handlers, we may be able to get away with just limiting
control cdb data buffers to one page. The only control CDBs we handle that
have potentially large data buffers are REPORT LUNS and UNMAP, so if we
didn't want to live with this limitation, they would need to be modified
to walk the pages in the data buffer's sgl.

Signed-off-by: Andy Grover &lt;agrover@redhat.com&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target: Make all control CDBs scatter-gather</title>
<updated>2011-07-22T09:37:48Z</updated>
<author>
<name>Andy Grover</name>
<email>agrover@redhat.com</email>
</author>
<published>2011-07-20T19:13:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=05d1c7c0d0db4cc25548d9aadebb416888a82327'/>
<id>urn:sha1:05d1c7c0d0db4cc25548d9aadebb416888a82327</id>
<content type='text'>
Previously, some control CDBs did not allocate memory in pages for their
data buffer, but just did a kmalloc. This patch makes all cdbs allocate
pages.

This has the benefit of streamlining some paths that had to behave
differently when we used two allocation methods. The downside is that
all accesses to the data buffer need to kmap it before use, and need to
handle data in page-sized chunks if more than a page is needed for a given
command's data buffer.

Finally, note that cdbs with no data buffers are handled a little
differently. Before, SCSI_NON_DATA_CDBs would not call get_mem at all
(they'd be in the final else in transport_allocate_resources) but now
these will make it into generic_get_mem, but just not allocate any
buffers.

Signed-off-by: Andy Grover &lt;agrover@redhat.com&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
</feed>
