<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/target/target_core_rd.c, branch linux-3.5.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.5.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.5.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2012-05-06T22:11:26Z</updated>
<entry>
<title>target: remove struct se_task</title>
<updated>2012-05-06T22:11:26Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2012-04-24T04:25:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5787cacd0bd5ee016ad807b244550d34fe2beebe'/>
<id>urn:sha1:5787cacd0bd5ee016ad807b244550d34fe2beebe</id>
<content type='text'>
We can use struct se_cmd for everything it did.  Make sure to pass the S/G
list and data direction to the execution function to ease adding back BIDI
support later on.

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 the task_size field in struct se_task</title>
<updated>2012-05-06T22:03:41Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2012-04-23T15:35:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7a83aa4e7b26ba61b9dc98d5c0bf725f4df0043f'/>
<id>urn:sha1:7a83aa4e7b26ba61b9dc98d5c0bf725f4df0043f</id>
<content type='text'>
Now that we don't split commands the size field in the task is always
equivalent to the one in the CDB, even in cases where we have two tasks
due to a BIDI transfer.  Just refer the the size in the command instead
of duplicating it in the task.

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 the task_lba field in struct se_task</title>
<updated>2012-05-06T22:02:59Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2012-04-23T15:35:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=72a0e5e2e2e6b577343c79013611ad5701e94482'/>
<id>urn:sha1:72a0e5e2e2e6b577343c79013611ad5701e94482</id>
<content type='text'>
Now that we don't split commands the lba field in the task is always
equivalent to the one in the CDB, even in cases where we have two tasks
due to a BIDI transfer.  Just refer the the lba in the command instead
of duplicating it in the task.

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: don't limit transfer sizes for the ramdisk backend</title>
<updated>2012-04-15T00:40:30Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2012-03-26T08:57:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=83799efbfffff62678306ce5e98f4d6d0e069e23'/>
<id>urn:sha1:83799efbfffff62678306ce5e98f4d6d0e069e23</id>
<content type='text'>
The ramdisk backend has not inherent limitations for handling requests,
so don't artificially limits the transfer size.

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: misc ramdisk backend cleanups</title>
<updated>2012-04-15T00:40:30Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2012-03-26T08:56:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8feb58d04b23e65c3d302f063544f3a1ae65e887'/>
<id>urn:sha1:8feb58d04b23e65c3d302f063544f3a1ae65e887</id>
<content type='text'>
Remove various leftovers of the old direct/indirect split, as well as the
unused rd_request structure and a couple unused defines and fields.

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: use \n as a separator for configuration</title>
<updated>2011-12-14T11:27:23Z</updated>
<author>
<name>Sebastian Andrzej Siewior</name>
</author>
<published>2011-11-23T19:53:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=90c161b643d9531d271110876a14e68b49172d8a'/>
<id>urn:sha1:90c161b643d9531d271110876a14e68b49172d8a</id>
<content type='text'>
The command
| echo rd_pages=32768 &gt; ramdisk/control

Does not work because it writes "rd_pages=32768\n" and the parser which
matches for "rd_pages=%d" does not recognize it due to the \n. One way
of fixing this would be using "echo -n" instead.
This patch adds \n to the list of separators so we don't have to use the
-n argument which I find is more convinient.

Signed-off-by: Sebastian Andrzej Siewior &lt;bigeasy@linutronix.de&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target: header reshuffle, part2</title>
<updated>2011-12-14T11:26:05Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2011-11-16T14:46:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c4795fb20edf2fe2c862c8fe9f8b681edeb79ac1'/>
<id>urn:sha1:c4795fb20edf2fe2c862c8fe9f8b681edeb79ac1</id>
<content type='text'>
This reorganized the headers under include/target into:

 - target_core_base.h stays as is with all target-wide data stuctures and defines
 - target_core_backend.h contains the whole interface to I/O backends
 - target_core_fabric.h contains the whole interface to fabric modules

Except for those only the various configfs macro headers stay around.

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/rd: fix or rewrite the copy routine</title>
<updated>2011-12-06T06:00:58Z</updated>
<author>
<name>Sebastian Andrzej Siewior</name>
</author>
<published>2011-11-30T09:48:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=65b0c78d5a0ca2cb82b7b9f54f855896e0d7fc10'/>
<id>urn:sha1:65b0c78d5a0ca2cb82b7b9f54f855896e0d7fc10</id>
<content type='text'>
So the code assumes that the sg list is only a array while in reality
loopback SGL memory via scsi_cmnd into target-core may be already
chained.  This patch converts ramdisk code to use sg_miter logic from
scatterlist.h in order to properly support passthrough SGL usage with
transport_generic_map_mem_to_cmd() via loopback.

With this patch the bug goes away. However after umount/mount of the
device my files are gone. So something is still not right. After looking
at it for a while I decided to rewrite the that part of the code and now
things do work for me.

For reference:
- http://article.gmane.org/gmane.linux.scsi.target.devel/595
  the sg_next() conversion
- http://article.gmane.org/gmane.linux.scsi.target.devel/602
  the rewrite of the copy code

(nab: Fix compile warning in rd_MEMCPY)

Signed-off-by: Sebastian Andrzej Siewior &lt;bigeasy@linutronix.de&gt;
Cc: stable@kernel.org
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target/rd: simplify the page/offset computation</title>
<updated>2011-12-06T06:00:57Z</updated>
<author>
<name>Sebastian Andrzej Siewior</name>
</author>
<published>2011-11-25T21:18:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5bff9e8584fbcdb361dada5a0425724b9e31e608'/>
<id>urn:sha1:5bff9e8584fbcdb361dada5a0425724b9e31e608</id>
<content type='text'>
Breakout rd_MEMCPY_do_task() usage of do_div() to tmp value during
rd_request-&gt;rd_page assignment.

Signed-off-by: Sebastian Andrzej Siewior &lt;bigeasy@linutronix.de&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target: Address legacy PYX_TRANSPORT_* return code breakage</title>
<updated>2011-12-06T06:00:49Z</updated>
<author>
<name>Nicholas Bellinger</name>
</author>
<published>2011-11-04T09:36:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=03e98c9eb916f3f0868c1dc344dde2a60287ff72'/>
<id>urn:sha1:03e98c9eb916f3f0868c1dc344dde2a60287ff72</id>
<content type='text'>
This patch removes legacy usage of PYX_TRANSPORT_* return codes in a number
of locations and addresses cases where transport_generic_request_failure()
was returning the incorrect sense upon CHECK_CONDITION status after the
v3.1 converson to use errno return codes.

This includes the conversion of transport_generic_request_failure() to
process cmd-&gt;scsi_sense_reason and handle extra TCM_RESERVATION_CONFLICT
before calling transport_send_check_condition_and_sense() to queue up
response status.  It also drops PYX_TRANSPORT_OUT_OF_MEMORY_RESOURCES legacy
usgae, and returns TCM_LOGICAL_UNIT_COMMUNICATION_FAILURE w/ a response
for these cases.

transport_generic_allocate_tasks(), transport_generic_new_cmd(), backend
SCF_SCSI_DATA_SG_IO_CDB -&gt;do_task(), and emulated -&gt;execute_task() have
all been updated to set se_cmd-&gt;scsi_sense_reason and return errno codes
universally upon failure.  This includes cmd-&gt;scsi_sense_reason assignment
in target_core_alua.c, target_core_pr.c and target_core_cdb.c emulation code.

Finally it updates fabric modules to remove the legacy usage, and for
TFO-&gt;new_cmd_map() callers forwards return values outside of fabric code.
iscsi-target has also been updated to remove a handful of special cases
related to the cleanup and signaling QUEUE_FULL handling w/ ft_write_pending()

(v2: Drop extra SCF_SCSI_CDB_EXCEPTION check during failure from
     transport_generic_new_cmd, and re-add missing task-&gt;task_error_status
     assignment in transport_complete_task)

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