<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/target/loopback/tcm_loop.c, branch v3.4.9</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/target/loopback/tcm_loop.c?h=v3.4.9</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/target/loopback/tcm_loop.c?h=v3.4.9'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-03-18T01:07:27Z</updated>
<entry>
<title>loopback: Fix transport_generic_allocate_tasks error handling</title>
<updated>2012-03-18T01:07:27Z</updated>
<author>
<name>Nicholas Bellinger</name>
<email>nab@linux-iscsi.org</email>
</author>
<published>2012-03-18T00:40:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ee9b866a3696ae434418348e2f499c41841366d4'/>
<id>urn:sha1:ee9b866a3696ae434418348e2f499c41841366d4</id>
<content type='text'>
This patch addresses a tcm_loop bug with transport_generic_allocate_tasks()
return checking in tcm_loop_submission_work() where other non zero return
codes (including -EBUSY for reservation conflicts) are incorrectly falling
through to transport_generic_map_mem_to_cmd() -&gt; transport_handle_cdb_direct().

This bug was introduced into target-pending/for-next-merge with the following
for-3.4 commit:

commit 16786454acec0e0e55e32d508b3058b32c1f23f3
Author: Christoph Hellwig &lt;hch@infradead.org&gt;
Date:   Thu Feb 2 17:04:42 2012 -0500

    tcm_loop: switch to using transport_handle_cdb_direct

Cc: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target: remove obvious warnings</title>
<updated>2012-03-16T02:16:09Z</updated>
<author>
<name>Jörn Engel</name>
<email>joern@logfs.org</email>
</author>
<published>2012-03-15T19:06:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=281689051a628e5341ce1efcfafde9d60f2f6fbb'/>
<id>urn:sha1:281689051a628e5341ce1efcfafde9d60f2f6fbb</id>
<content type='text'>
Get rid of a bunch of write-only variables.  In a number of cases I
suspect actual bugs to be present, so I left all of those for a second
look.

(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: Drop unused legacy target_core_fabric_ops API callers</title>
<updated>2012-03-10T22:42:55Z</updated>
<author>
<name>Nicholas Bellinger</name>
<email>nab@linux-iscsi.org</email>
</author>
<published>2012-02-28T08:22:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c7ec05c82bfd6acf1fd800d628591500805f3179'/>
<id>urn:sha1:c7ec05c82bfd6acf1fd800d628591500805f3179</id>
<content type='text'>
This patch drops the following unused legacy API callers from target_core_fabric.h:

*) TFO-&gt;fall_back_to_erl0()
*) TFO-&gt;stop_session()
*) TFO-&gt;sess_logged_in()
*) TFO-&gt;is_state_remove()

This patch also removes the stub usage in loopback, tcm_fc, iscsi_target,
and ib_srpt fabric modules.

Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>tcm_loop: Set residual field for SCSI commands</title>
<updated>2012-02-25T22:37:50Z</updated>
<author>
<name>Roland Dreier</name>
<email>roland@purestorage.com</email>
</author>
<published>2012-02-14T23:30:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6cf3fa6918baab0c447f1206f1cef9166ad04864'/>
<id>urn:sha1:6cf3fa6918baab0c447f1206f1cef9166ad04864</id>
<content type='text'>
If the target core signals an over- or under-run, tcm_loop should call
scsi_set_resid() to tell the SCSI midlayer about the residual data length.

The difference can be seen by doing something like

    strace -eioctl sg_raw -r 1024 /dev/sda 8 0 0 0 1 0 &gt; /dev/null

and looking at the "resid=" part of the SG_IO ioctl -- after this patch,
the field is correctly reported as 512.

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>
<entry>
<title>tcm_loop: switch to using transport_handle_cdb_direct</title>
<updated>2012-02-25T22:37:48Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@infradead.org</email>
</author>
<published>2012-02-02T22:04:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=16786454acec0e0e55e32d508b3058b32c1f23f3'/>
<id>urn:sha1:16786454acec0e0e55e32d508b3058b32c1f23f3</id>
<content type='text'>
Now that we use a workqueue for I/O submission there is no need to use
transport_generic_handle_cdb_map any more.

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>tcm_loop: defer all command submissions to workqueue</title>
<updated>2012-02-25T22:37:48Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@infradead.org</email>
</author>
<published>2012-02-02T22:04:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=afe2cb7fb111ac52ec95ab2bfb19d9d9e0d52ed8'/>
<id>urn:sha1:afe2cb7fb111ac52ec95ab2bfb19d9d9e0d52ed8</id>
<content type='text'>
Apply the qla2xxx model of submitting all commands from a workqueue.

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>tcm_loop: kill tcm_loop_allocate_core_cmd</title>
<updated>2012-02-25T22:37:48Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@infradead.org</email>
</author>
<published>2012-02-02T22:04:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f872c9f417a38a08b6ffe46e1f937d3db1d22775'/>
<id>urn:sha1:f872c9f417a38a08b6ffe46e1f937d3db1d22775</id>
<content type='text'>
This function makes little sense as a separate abstraction as it's deeply
interwinded with the control flow of its only caller.  Merged it into
tcm_loop_queuecommand after factoring out a helper to convert the task
attribute representation.

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 SCF_SCSI_TMR_CDB usage and drop se_tmr_req_cache</title>
<updated>2012-02-25T22:37:47Z</updated>
<author>
<name>Andy Grover</name>
<email>agrover@redhat.com</email>
</author>
<published>2012-01-19T21:39:17Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c8e31f26feeb03dc6f51bff68135cc58431e099b'/>
<id>urn:sha1:c8e31f26feeb03dc6f51bff68135cc58431e099b</id>
<content type='text'>
Change the test for if a cmd is a tmr request to checking if
SCF_SCSI_TMR_CDB (a new flag) is set in cmd-&gt;se_cmd_flags.

Also remove se_tmr_req_cache usage in favor of kzalloc usage,
and make core_tmr_alloc_req() return int + setup se_cmd-&gt;se_tmr_req
directly and fix up various fabric module usages

Cc: Andy Grover &lt;agrover@redhat.com&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>tcm_loop: bump max_sectors</title>
<updated>2011-12-14T11:28:11Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@infradead.org</email>
</author>
<published>2011-11-29T08:20:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2e88efd3aaafa0df05593cdfa5fd17afe922781d'/>
<id>urn:sha1:2e88efd3aaafa0df05593cdfa5fd17afe922781d</id>
<content type='text'>
There is not reason to artifically limit max_sectors in tcm_loop, set
it to UINT_MAX to allow stressing the large I/O handling in the target
core using the loopback driver.  Also remove various superflous defines
hiding the values set in the host template.

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: remove useless casts</title>
<updated>2011-12-14T11:28:07Z</updated>
<author>
<name>Jörn Engel</name>
<email>joern@logfs.org</email>
</author>
<published>2011-11-24T01:05:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8359cf43b9dccddeebb0d247146719a14ce6371a'/>
<id>urn:sha1:8359cf43b9dccddeebb0d247146719a14ce6371a</id>
<content type='text'>
A reader should spend an extra moment whenever noticing a cast,
because either something special is going on that deserves extra
attention or, as is all too often the case, the code is wrong.

These casts, afaics, have all been useless.  They cast a foo* to a
foo*, cast a void* to the assigned type, cast a foo* to void*, before
assigning it to a void* variable, etc.

In a few cases I also removed an additional &amp;...[0], which is equally
useless.

Lastly I added three FIXMEs where, to the best of my judgement, the
code appears to have a bug.  It would be good if someone could check
these.

Signed-off-by: Joern Engel &lt;joern@logfs.org&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
</feed>
