<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/include/target, branch v3.10.18</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v3.10.18</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v3.10.18'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2013-08-04T08:51:17Z</updated>
<entry>
<title>iscsi-target: Fix iscsit_sequence_cmd reject handling for iser</title>
<updated>2013-08-04T08:51:17Z</updated>
<author>
<name>Nicholas Bellinger</name>
<email>nab@linux-iscsi.org</email>
</author>
<published>2013-07-30T04:04:02Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=adb97c299904814edb0bb26ae894139ca46ae446'/>
<id>urn:sha1:adb97c299904814edb0bb26ae894139ca46ae446</id>
<content type='text'>
commit 561bf15892375597ee59d473a704a3e634c4f311 upstream

This patch moves ISCSI_OP_REJECT failures into iscsit_sequence_cmd()
in order to avoid external iscsit_reject_cmd() reject usage for all
PDU types.

It also updates PDU specific handlers for traditional iscsi-target
code to not reset the session after posting a ISCSI_OP_REJECT during
setup.

(v2: Fix CMDSN_LOWER_THAN_EXP for ISCSI_OP_SCSI to call
     target_put_sess_cmd() after iscsit_sequence_cmd() failure)

Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
Cc: Or Gerlitz &lt;ogerlitz@mellanox.com&gt;
Cc: Mike Christie &lt;michaelc@cs.wisc.edu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>iscsi-target: Fix iscsit_add_reject* usage for iser</title>
<updated>2013-08-04T08:51:17Z</updated>
<author>
<name>Nicholas Bellinger</name>
<email>nab@linux-iscsi.org</email>
</author>
<published>2013-07-30T04:04:01Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=1aa58ccd029fc75c115ae35c3fcb4d43043c0725'/>
<id>urn:sha1:1aa58ccd029fc75c115ae35c3fcb4d43043c0725</id>
<content type='text'>
commit ba159914086f06532079fc15141f46ffe7e04a41 upstream

This patch changes iscsit_add_reject() + iscsit_add_reject_from_cmd()
usage to not sleep on iscsi_cmd-&gt;reject_comp to address a free-after-use
usage bug in v3.10 with iser-target code.

It saves -&gt;reject_reason for use within iscsit_build_reject() so the
correct value for both transport cases.  It also drops the legacy
fail_conn parameter usage throughput iscsi-target code and adds
two iscsit_add_reject_cmd() and iscsit_reject_cmd helper functions,
along with various small cleanups.

(v2: Re-enable target_put_sess_cmd() to be called from
     iscsit_add_reject_from_cmd() for rejects invoked after
     target_get_sess_cmd() has been called)

Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
Cc: Or Gerlitz &lt;ogerlitz@mellanox.com&gt;
Cc: Mike Christie &lt;michaelc@cs.wisc.edu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>iser-target: Fix session reset bug with RDMA_CM_EVENT_DISCONNECTED</title>
<updated>2013-08-04T08:50:33Z</updated>
<author>
<name>Nicholas Bellinger</name>
<email>nab@linux-iscsi.org</email>
</author>
<published>2013-07-03T10:05:37Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=d9e507c05ca19ad2ec166577edd8b47e17c8961e'/>
<id>urn:sha1:d9e507c05ca19ad2ec166577edd8b47e17c8961e</id>
<content type='text'>
commit b2cb96494d83b894a43ba8b9023eead8ff50684b upstream.

This patch addresses a bug where RDMA_CM_EVENT_DISCONNECTED may occur
before the connection shutdown has been completed by rx/tx threads,
that causes isert_free_conn() to wait indefinately on -&gt;conn_wait.

This patch allows isert_disconnect_work code to invoke rdma_disconnect
when isert_disconnect_work() process context is started by client
session reset before isert_free_conn() code has been reached.

It also adds isert_conn-&gt;conn_mutex protection for -&gt;state within
isert_disconnect_work(), isert_cq_comp_err() and isert_free_conn()
code, along with isert_check_state() for wait_event usage.

(v2: Add explicit iscsit_cause_connection_reinstatement call
     during isert_disconnect_work() to force conn reset)

Cc: Or Gerlitz &lt;ogerlitz@mellanox.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: Propigate up -&gt;cmd_kref put return via transport_generic_free_cmd</title>
<updated>2013-05-31T08:21:23Z</updated>
<author>
<name>Nicholas Bellinger</name>
<email>nab@linux-iscsi.org</email>
</author>
<published>2013-05-31T07:46:11Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=d5ddad4168348337d98d6b8f156a3892de444411'/>
<id>urn:sha1:d5ddad4168348337d98d6b8f156a3892de444411</id>
<content type='text'>
Go ahead and propigate up the -&gt;cmd_kref put return value from
target_put_sess_cmd() -&gt; transport_release_cmd() -&gt; transport_put_cmd()
-&gt; transport_generic_free_cmd().

This is useful for certain fabrics when determining the active I/O
shutdown case with SCF_ACK_KREF where a final target_put_sess_cmd()
is still required by the caller.

Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target: Re-instate sess_wait_list for target_wait_for_sess_cmds</title>
<updated>2013-05-30T04:30:33Z</updated>
<author>
<name>Nicholas Bellinger</name>
<email>nab@linux-iscsi.org</email>
</author>
<published>2013-05-15T07:52:44Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=9b31a328e344e62e7cc98ae574edcb7b674719bb'/>
<id>urn:sha1:9b31a328e344e62e7cc98ae574edcb7b674719bb</id>
<content type='text'>
Switch back to pre commit 1c7b13fe652 list splicing logic for active I/O
shutdown with tcm_qla2xxx + ib_srpt fabrics.

The original commit was done under the incorrect assumption that it's safe to
walk se_sess-&gt;sess_cmd_list unprotected in target_wait_for_sess_cmds() after
sess-&gt;sess_tearing_down = 1 has been set by target_sess_cmd_list_set_waiting()
during session shutdown.

So instead of adding sess-&gt;sess_cmd_lock protection around sess-&gt;sess_cmd_list
during target_wait_for_sess_cmds(), switch back to sess-&gt;sess_wait_list to
allow wait_for_completion() + TFO-&gt;release_cmd() to occur without having to
walk -&gt;sess_cmd_list after the list_splice.

Also add a check to exit if target_sess_cmd_list_set_waiting() has already
been called, and add a WARN_ON to check for any fabric bug where new se_cmds
are added to sess-&gt;sess_cmd_list after sess-&gt;sess_tearing_down = 1 has already
been set.

Cc: Joern Engel &lt;joern@logfs.org&gt;
Cc: Roland Dreier &lt;roland@kernel.org&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target: Remove unused wait_for_tasks bit in target_wait_for_sess_cmds</title>
<updated>2013-05-21T04:44:10Z</updated>
<author>
<name>Joern Engel</name>
<email>joern@logfs.org</email>
</author>
<published>2013-05-15T07:44:07Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=be646c2d2ba8e2e56596d72633705f8286698c25'/>
<id>urn:sha1:be646c2d2ba8e2e56596d72633705f8286698c25</id>
<content type='text'>
Drop unused transport_wait_for_tasks() check in target_wait_for_sess_cmds
shutdown code, and convert tcm_qla2xxx + ib_srpt fabric drivers.

Cc: Joern Engel &lt;joern@logfs.org&gt;
Cc: Roland Dreier &lt;roland@kernel.org&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target: removed unused transport_state flag</title>
<updated>2013-05-15T08:46:53Z</updated>
<author>
<name>Joern Engel</name>
<email>joern@logfs.org</email>
</author>
<published>2013-05-13T20:30:05Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=a1321ddd27e65c6ada5b9a12cae4ee2612d76893'/>
<id>urn:sha1:a1321ddd27e65c6ada5b9a12cae4ee2612d76893</id>
<content type='text'>
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: Remove unused struct members in se_dev_entry</title>
<updated>2013-05-03T23:42:18Z</updated>
<author>
<name>Andy Grover</name>
<email>agrover@redhat.com</email>
</author>
<published>2013-04-25T22:04:02Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=2acd09f3232825a0e95134703ec59bc327ef9967'/>
<id>urn:sha1:2acd09f3232825a0e95134703ec59bc327ef9967</id>
<content type='text'>
Some were incremented, but never used anywhere from what I could tell.

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>iscsi-target: Add iscsit_transport API template</title>
<updated>2013-04-25T08:05:26Z</updated>
<author>
<name>Nicholas Bellinger</name>
<email>nab@linux-iscsi.org</email>
</author>
<published>2013-03-07T05:53:26Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=3f99306337ba1871afc8568e8b36004ce3cee039'/>
<id>urn:sha1:3f99306337ba1871afc8568e8b36004ce3cee039</id>
<content type='text'>
Add basic struct iscsit_transport API template to allow iscsi-target for
running with external transport modules using existing iscsi_target_core.h
code.

For all external modules, this calls try_module_get() and module_put()
to obtain + release an external iscsit_transport module reference count.

Also include the iscsi-target symbols necessary in iscsi_transport.h to
allow external transport modules to function.

v3 changes:
- Add iscsit_build_reject export for ISTATE_SEND_REJECT usage

v2 changes:

- Drop unnecessary export of iscsit_get_transport + iscsit_put_transport (roland)
- Add -&gt;iscsit_queue_data_in() to remove extra context switch on RDMA_WRITE
- Add -&gt;iscsit_queue_status() to remove extra context switch on IB_SEND status
- Add -&gt;iscsit_get_dataout() to remove extra context switch on RDMA_READ
- Drop -&gt;iscsit_free_cmd()
- Drop -&gt;iscsit_unmap_cmd()
- Rename iscsit_create_transport() -&gt; iscsit_register_transport() (andy)
- Rename iscsit_destroy_transport() -&gt; iscsit_unregister_transport() (andy)

Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target: Add export of target_get_sess_cmd symbol</title>
<updated>2013-04-25T08:05:26Z</updated>
<author>
<name>Nicholas Bellinger</name>
<email>nab@linux-iscsi.org</email>
</author>
<published>2013-03-22T05:54:28Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=20361e69ba0b52880f9a692bb80aceb989bf0e77'/>
<id>urn:sha1:20361e69ba0b52880f9a692bb80aceb989bf0e77</id>
<content type='text'>
Export target_get_sess_cmd() symbol so that it can be used by
iscsi-target.

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