<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/include/scsi/libiscsi.h, branch linux-2.6.31.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.31.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.31.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2009-06-21T15:52:39Z</updated>
<entry>
<title>libiscsi: don't run scsi eh if iscsi task is making progress</title>
<updated>2009-06-21T15:52:39Z</updated>
<author>
<name>Mike Christie</name>
</author>
<published>2009-06-16T03:11:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d355e57d58193b89283b0c8153649f0427b0bdad'/>
<id>urn:sha1:d355e57d58193b89283b0c8153649f0427b0bdad</id>
<content type='text'>
If we are sending or receiving data for the task successfully do
not run the scsi eh, because we know the task is making progress.

Signed-off-by: Mike Christie &lt;michaelc@cs.wisc.edu&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] libiscsi: add task aborted state</title>
<updated>2009-05-23T20:44:13Z</updated>
<author>
<name>Mike Christie</name>
</author>
<published>2009-05-13T22:57:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b3cd5050bf8eb32ceecee129cac7c59e6f1668c4'/>
<id>urn:sha1:b3cd5050bf8eb32ceecee129cac7c59e6f1668c4</id>
<content type='text'>
If a task did not complete normally due to a TMF, libiscsi will
now complete the task with the state ISCSI_TASK_ABRT_TMF. Drivers
like bnx2i that need to free resources if a command did not complete normally
can then check the task state. If a driver does not need to send
a special command if we have dropped the session then they can check
for ISCSI_TASK_ABRT_SESS_RECOV.

Signed-off-by: Mike Christie &lt;michaelc@cs.wisc.edu&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] libiscsi: handle cleanup task races</title>
<updated>2009-05-23T20:44:12Z</updated>
<author>
<name>Mike Christie</name>
</author>
<published>2009-05-13T22:57:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3bbaaad95fd38dedb7c66a601f14825b4e0c5a59'/>
<id>urn:sha1:3bbaaad95fd38dedb7c66a601f14825b4e0c5a59</id>
<content type='text'>
bnx2i needs to send a hardware specific cleanup command if
a command has not completed normally (iscsi/scsi response from
target), and the session is still ok (this is the case when we
send a TMF to stop the command).

At this time it will need to drop the session lock. The problem
with the current code is that fail_all_commands assumes we
will hold the lock the entire time, so it uses list_for_each_entry_safe.
If while bnx2i drops the session lock multiple cmds complete then
list_for_each_entry_safe will not handle this correctly.

This patch removes the running lists and just has us loop over
the cmds array (in later patches we will then replace that
array with a block tag map at the session level). It also fixes
up the completion path so that if the TMF code and the normal recv
path were completing the same command then they both do not try
to do release the refcount taken when the task is queued.

Signed-off-by: Mike Christie &lt;michaelc@cs.wisc.edu&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] libiscsi: export iscsi_itt_to_task for bnx2i</title>
<updated>2009-05-23T20:44:10Z</updated>
<author>
<name>Mike Christie</name>
</author>
<published>2009-05-13T22:57:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8f9256cea10ca43ac80f66e176643eb41db34244'/>
<id>urn:sha1:8f9256cea10ca43ac80f66e176643eb41db34244</id>
<content type='text'>
bnx2i needs to be able to look up mgmt task like login and nop, because
it does some processing of them on the completion path. This exports
iscsi_itt_to_task so it can look up the task.

Signed-off-by: Mike Christie &lt;michaelc@cs.wisc.edu&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] cxgb3i, iser, iscsi_tcp: set target can queue</title>
<updated>2009-04-27T15:09:54Z</updated>
<author>
<name>Mike Christie</name>
</author>
<published>2009-04-21T20:32:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6b5d6c443a9b4fd71b633cef66b5db4de8a85787'/>
<id>urn:sha1:6b5d6c443a9b4fd71b633cef66b5db4de8a85787</id>
<content type='text'>
Set target can queue limit to the number of preallocated
session tasks we have.

This along with the cxgb3i can_queue patch will fix a throughput
problem where it could only queue one LU worth of data at a time.

Signed-off-by: Mike Christie &lt;michaelc@cs.wisc.edu&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] libiscsi: pass session failure a session struct</title>
<updated>2009-03-13T20:29:12Z</updated>
<author>
<name>Mike Christie</name>
</author>
<published>2009-03-05T20:46:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=40a06e755d8524cd0b24f795e8bdce5ad19fc41b'/>
<id>urn:sha1:40a06e755d8524cd0b24f795e8bdce5ad19fc41b</id>
<content type='text'>
The api for conn and session failures is akward because
one takes a conn from the lib and one takes a session
from the class. This syncs up the interfaces to use
structs from the lib.

Signed-off-by: Mike Christie &lt;michaelc@cs.wisc.edu&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] iscsi lib: remove qdepth param from iscsi host allocation</title>
<updated>2009-03-13T20:28:55Z</updated>
<author>
<name>Mike Christie</name>
</author>
<published>2009-03-05T20:46:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4d1083509a69a36cc1394f188b7b8956e5526a16'/>
<id>urn:sha1:4d1083509a69a36cc1394f188b7b8956e5526a16</id>
<content type='text'>
The qdepth setting was useful when we needed libiscsi to verify
the setting. Now we just need to make sure if older tools
passed in zero then we need to set some default.

So this patch just has us use the sht-&gt;cmd_per_lun or if
for LLD does a host per session then we can set it on per
host basis.

Signed-off-by: Mike Christie &lt;michaelc@cs.wisc.edu&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] iscsi lib: have lib create work queue for transmitting IO</title>
<updated>2009-03-13T20:28:37Z</updated>
<author>
<name>Mike Christie</name>
</author>
<published>2009-03-05T20:46:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=32ae763e3fce4192cd008956a340353a2e5c3192'/>
<id>urn:sha1:32ae763e3fce4192cd008956a340353a2e5c3192</id>
<content type='text'>
We were using the shost work queue which ended up being
a little akward since all iscsi hosts need a thread for
scanning, but only drivers hooked into libiscsi need
a workqueue for transmitting. So this patch moves the
xmit workqueue to the lib.

Signed-off-by: Mike Christie &lt;michaelc@cs.wisc.edu&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] libiscsi: don't cap queue depth in iscsi modules</title>
<updated>2009-03-13T20:28:06Z</updated>
<author>
<name>Mike Christie</name>
</author>
<published>2009-03-05T20:46:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e28f3d5b51ed07d822f135cd941b01e2d485270e'/>
<id>urn:sha1:e28f3d5b51ed07d822f135cd941b01e2d485270e</id>
<content type='text'>
There is no need to cap the queue depth in the modules. We set
this in userspace and can do that there. For performance testing
with ram based targets, this is helpful since we can have very
high queue depths.

Signed-off-by: Mike Christie &lt;michaelc@cs.wisc.edu&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] libiscsi: replace scsi_debug logging with session/conn logging</title>
<updated>2009-03-13T20:27:09Z</updated>
<author>
<name>Mike Christie</name>
</author>
<published>2009-03-05T20:45:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1b2c7af877f427a2b25583c9033616c9ebd30aed'/>
<id>urn:sha1:1b2c7af877f427a2b25583c9033616c9ebd30aed</id>
<content type='text'>
This makes the logging a compile time option and replaces
the scsi_debug macro with session and connection ones
that print out a driver model id prefix.

Signed-off-by: Mike Christie &lt;michaelc@cs.wisc.edu&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
</entry>
</feed>
