<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/include/target, branch v3.2-rc2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v3.2-rc2</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v3.2-rc2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2011-11-07T03:00:42Z</updated>
<entry>
<title>Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending</title>
<updated>2011-11-07T03:00:42Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-11-07T03:00:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=6aad3738f6a79fd0ca480eaceefe064cc471f6eb'/>
<id>urn:sha1:6aad3738f6a79fd0ca480eaceefe064cc471f6eb</id>
<content type='text'>
* 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
  target: use -&gt;exectute_task for all CDB emulation
  target: remove SCF_EMULATE_CDB_ASYNC
  target: refactor transport_emulate_control_cdb
  target: pass the se_task to the CDB emulation callback
  target: split core_scsi3_emulate_pr
  target: split core_scsi2_emulate_crh
  target: Add generic active I/O shutdown logic
  target: add back error handling in transport_complete_task
  target/pscsi: blk_make_request() returns an ERR_PTR()
  target: Remove core TRANSPORT_FREE_CMD_INTR usage
  target: Make TFO-&gt;check_stop_free return free status
  iscsi-target: Fix non-immediate TMR handling
  iscsi-target: Add missing CMDSN_LOWER_THAN_EXP check in iscsit_handle_scsi_cmd
  target: Avoid double list_del for aborted se_tmr_req
  target: Minor cleanups to core_tmr_drain_tmr_list
  target: Fix wrong se_tmr being added to drain_tmr_list
  target: Fix incorrect se_cmd assignment in core_tmr_drain_tmr_list
  target: Check -ENOMEM to signal QUEUE_FULL from fabric callbacks
  tcm_loop: Add explict read buffer memset for SCF_SCSI_CONTROL_SG_IO_CDB
  target: Fix compile warning w/ missing module.h include
</content>
</entry>
<entry>
<title>target: remove SCF_EMULATE_CDB_ASYNC</title>
<updated>2011-11-04T10:43:35Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@infradead.org</email>
</author>
<published>2011-11-03T21:50:44Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d29a5b6acc4b63d4e05ff554509df6fbeaf527cd'/>
<id>urn:sha1:d29a5b6acc4b63d4e05ff554509df6fbeaf527cd</id>
<content type='text'>
All -&gt;execute_task instances now need to complete the I/O explicitly,
which can either happen synchronously or asynchronously.

Note that a lot of the CDB emulations appear to return success even if
some lowlevel operations failed.  Given that this is an existing issue
this patch doesn't change that fact.

(nab: Adding missing switch breaks in PR-IN + PR_OUT)

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: pass the se_task to the CDB emulation callback</title>
<updated>2011-11-04T08:00:17Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@infradead.org</email>
</author>
<published>2011-11-03T21:50:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=e76a35d6c809bd1638e3b1b535bb780ac731c380'/>
<id>urn:sha1:e76a35d6c809bd1638e3b1b535bb780ac731c380</id>
<content type='text'>
We want to be able to handle all CDBs through it and remove hacks like
always using the first task in a CDB in target_report_luns.

Also rename the callback to -&gt;execute_task to better describe its use.

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 generic active I/O shutdown logic</title>
<updated>2011-11-04T07:50:26Z</updated>
<author>
<name>Nicholas Bellinger</name>
<email>nab@linux-iscsi.org</email>
</author>
<published>2011-11-03T04:52:08Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=a17f091d1a7c570804cfc2c77701634da88f8ecf'/>
<id>urn:sha1:a17f091d1a7c570804cfc2c77701634da88f8ecf</id>
<content type='text'>
This patch adds the initial pieces of generic active I/O shutdown logic.
This is intended to be a 'opt-in' feature for fabric modules that
includes the following functions to provide a mechinism for fabric
modules to track se_cmd via se_session-&gt;sess_cmd_list:

*) target_get_sess_cmd() - Add se_cmd to sess-&gt;sess_cmd_list, called
   from fabric module incoming I/O path.
*) target_put_sess_cmd() - Check for completion or drop se_cmd from
   -&gt;sess_cmd_list
*) target_splice_sess_cmd_list() - Splice active I/O list from
   -&gt;sess_cmd_list to -&gt;sess_wait_list, can called with HW fabric
   lock held.
*) target_wait_for_sess_cmds() - Walk -&gt;sess_wait_list waiting on
   individual -&gt;cmd_wait_comp.  Optional transport_wait_for_tasks()
   call.

target_splice_sess_cmd_list() is allowed to be called under HW fabric
lock, and performs the splice into se_sess-&gt;sess_wait_list and set
se_cmd-&gt;cmd_wait_set.  Then target_wait_for_sess_cmds() walks the list
waiting for individual target_put_sess_cmd() fabric callbacks to
complete.

It also adds TFO-&gt;check_release_cmd() to split the completion and memory
release calls, where a fabric module uses target_put_sess_cmd() to check
for I/O completion during session shutdown.  This is currently pushed out
into fabric modules as current fabric code may sleep here waiting for
TFO-&gt;check_stop_free() to complete in main response path, and because
target_wait_for_sess_cmds() calling TFO-&gt;release_cmd() to free fabric
descriptor memory directly.

Cc: Christoph Hellwig &lt;hch@lst.de&gt;
Cc: Roland Dreier &lt;roland@purestorage.com&gt;
Signed-off-by: Nicholas A. Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target: Remove core TRANSPORT_FREE_CMD_INTR usage</title>
<updated>2011-11-02T15:58:46Z</updated>
<author>
<name>Nicholas Bellinger</name>
<email>nab@linux-iscsi.org</email>
</author>
<published>2011-11-02T15:28:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=3151d069e9e77043b0e791719bc65896cf24d9f0'/>
<id>urn:sha1:3151d069e9e77043b0e791719bc65896cf24d9f0</id>
<content type='text'>
This patch drops TRANSPORT_FREE_CMD_INTR usage from target core, which
includes the removal of transport_generic_free_cmd_intr() symbol,
TRANSPORT_FREE_CMD_INTR usage in transport_processing_thread(), and
special case LUN_RESET handling to skip TRANSPORT_FREE_CMD_INTR processing
in core_tmr_drain_cmd_list().  We now expect that fabric modules will
use an internal workqueue to provide process context when releasing
se_cmd descriptor resources via transport_generic_free_cmd().

Reported-by: Christoph Hellwig &lt;hch@lst.de&gt;
Cc: Christoph Hellwig &lt;hch@lst.de&gt;
Cc: Roland Dreier &lt;roland@purestorage.com&gt;
Cc: Madhuranath Iyengar &lt;mni@risingtidesystems.com&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@risingtidesystems.com&gt;
</content>
</entry>
<entry>
<title>target: Make TFO-&gt;check_stop_free return free status</title>
<updated>2011-11-02T15:58:30Z</updated>
<author>
<name>Nicholas Bellinger</name>
<email>nab@linux-iscsi.org</email>
</author>
<published>2011-11-02T10:33:16Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=88dd9e26d6d3e743f9c7e4562b94b2ad3c2994d3'/>
<id>urn:sha1:88dd9e26d6d3e743f9c7e4562b94b2ad3c2994d3</id>
<content type='text'>
This patch converts target_core_fabric_ops-&gt;check_stop_free() usage in
transport_cmd_check_stop() and associated fabric module usage to
return '1' when the passed se_cmd has been released directly within
-&gt;check_stop_free(), or return '0' when the passed se_cmd has not
been released.

This addresses an issue where transport_cmd_finish_abort() -&gt;
transport_cmd_check_stop_to_fabric() was leaking descriptors during
LUN_RESET for modules using -&gt;check_stop_free(), but not directly
releasing se_cmd in all cases.

Cc: stable@kernel.org
Signed-off-by: Nicholas Bellinger &lt;nab@risingtidesystems.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial</title>
<updated>2011-10-25T10:11:02Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-10-25T10:11:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=59e52534172d845ebffb0d7e85fc56fb7b857051'/>
<id>urn:sha1:59e52534172d845ebffb0d7e85fc56fb7b857051</id>
<content type='text'>
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (59 commits)
  MAINTAINERS: linux-m32r is moderated for non-subscribers
  linux@lists.openrisc.net is moderated for non-subscribers
  Drop default from "DM365 codec select" choice
  parisc: Kconfig: cleanup Kernel page size default
  Kconfig: remove redundant CONFIG_ prefix on two symbols
  cris: remove arch/cris/arch-v32/lib/nand_init.S
  microblaze: add missing CONFIG_ prefixes
  h8300: drop puzzling Kconfig dependencies
  MAINTAINERS: microblaze-uclinux@itee.uq.edu.au is moderated for non-subscribers
  tty: drop superfluous dependency in Kconfig
  ARM: mxc: fix Kconfig typo 'i.MX51'
  Fix file references in Kconfig files
  aic7xxx: fix Kconfig references to READMEs
  Fix file references in drivers/ide/
  thinkpad_acpi: Fix printk typo 'bluestooth'
  bcmring: drop commented out line in Kconfig
  btmrvl_sdio: fix typo 'btmrvl_sdio_sd6888'
  doc: raw1394: Trivial typo fix
  CIFS: Don't free volume_info-&gt;UNC until we are entirely done with it.
  treewide: Correct spelling of successfully in comments
  ...
</content>
</entry>
<entry>
<title>target: Remove legacy se_task-&gt;task_timer and associated logic</title>
<updated>2011-10-24T03:22:08Z</updated>
<author>
<name>Nicholas Bellinger</name>
<email>nab@linux-iscsi.org</email>
</author>
<published>2011-10-24T01:46:36Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=2e982ab92dff057c639d4a43ccfa275be62f5e59'/>
<id>urn:sha1:2e982ab92dff057c639d4a43ccfa275be62f5e59</id>
<content type='text'>
This patch removes the legacy usage of se_task-&gt;task_timer and associated
infrastructure that originally was used as a way to help manage buggy backend
SCSI LLDs that in certain cases would never return back an outstanding task.

This includes the removal of target_complete_timeout_work(), timeout logic
from transport_complete_task(), transport_task_timeout_handler(),
transport_start_task_timer(), the per device task_timeout configfs attribute,
and all task_timeout associated structure members and defines in
target_core_base.h

This is being removed in preparation to make transport_complete_task() run
in lock-less mode.

Cc: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target: Fix incorrect transport_sent usage</title>
<updated>2011-10-24T03:22:06Z</updated>
<author>
<name>Nicholas Bellinger</name>
<email>nab@linux-iscsi.org</email>
</author>
<published>2011-10-24T01:16:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=415a090ade7e674018e3fa4255938e4c312339b3'/>
<id>urn:sha1:415a090ade7e674018e3fa4255938e4c312339b3</id>
<content type='text'>
This patch converts target-core to use se_cmd-&gt;t_transport_sent instead of
a duplicated se_cmd-&gt;transport_sent member in a handful of locations.
It also updates iscsi_target to properly use -&gt;t_transport_sent instead of
it's own iscsi_cmd_t-&gt;transport_sent value that was not being assigned.

Reported-by: Christoph Hellwig &lt;hch@lst.de&gt;
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 the task_sg_bidi field se_task and pSCSI BIDI support</title>
<updated>2011-10-24T03:21:56Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@infradead.org</email>
</author>
<published>2011-10-18T10:57:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=7c1c6af37af69a4ac4a6485c968496d257245b5d'/>
<id>urn:sha1:7c1c6af37af69a4ac4a6485c968496d257245b5d</id>
<content type='text'>
This field is never used given that BIDI handling happens at the
command and not the task level.  Remove it and the dead code in
pscsi that tries to work on it.

It also prevents pSCSI passthrough for the two currently enabled BIDI
commands now that task-&gt;task_sg_bidi support has been removed.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Cc: Boaz Harrosh &lt;bharrosh@panasas.com&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
</feed>
