<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/target, branch v3.9.3</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/target?h=v3.9.3</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/target?h=v3.9.3'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-05-19T18:38:47Z</updated>
<entry>
<title>target: Use FD_MAX_SECTORS/FD_BLOCKSIZE for blockdevs using fileio</title>
<updated>2013-05-19T18:38:47Z</updated>
<author>
<name>Andy Grover</name>
<email>agrover@redhat.com</email>
</author>
<published>2013-04-26T18:09:03Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8cb3a88522df20a6d77934260040facfc0449f0e'/>
<id>urn:sha1:8cb3a88522df20a6d77934260040facfc0449f0e</id>
<content type='text'>
commit e3e84cda321703b123f36488f50700f371bc7230 upstream.

We can still see the error reported in

https://patchwork.kernel.org/patch/2338981/

when using fileio backed by a block device.

I'm assuming this will get us past that error (from sbc_parse_cdb),
and also assuming it's OK to have our max_sectors be larger than
the block's queue max hw sectors?

Reported-by: Eric Harney &lt;eharney@redhat.com&gt;
Signed-off-by: Andy Grover &lt;agrover@redhat.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/iblock: Fix WCE=1 + DPOFUA=1 backend WRITE regression</title>
<updated>2013-05-19T18:38:43Z</updated>
<author>
<name>Nicholas Bellinger</name>
<email>nab@linux-iscsi.org</email>
</author>
<published>2013-05-15T06:41:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1ed59c216723ca3586509ff309fbb987312d922a'/>
<id>urn:sha1:1ed59c216723ca3586509ff309fbb987312d922a</id>
<content type='text'>
commit d2bdbee0d91a5d3ba2e439ce889e20bfe6fd4f1b upstream.

This patch fixes a regression bug introduced in v3.9-rc1 where if the
underlying struct block_device for a IBLOCK backend is configured with
WCE=1 + DPOFUA=1 settings, the rw = WRITE assignment no longer occurs
in iblock_execute_rw(), and rw = 0 is passed to iblock_submit_bios()
in effect causing a READ bio operation to occur.

The offending commit is:

commit d0c8b259f8970d39354c1966853363345d401330
Author: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
Date:   Tue Jan 29 22:10:06 2013 -0800

    target/iblock: Use backend REQ_FLUSH hint for WriteCacheEnabled status

Note the WCE=1 + DPOFUA=0, WCE=0 + DPOFUA=1, and WCE=0 + DPOFUA=0 cases
are not affected by this regression bug.

Reported-by: Chris Boot &lt;bootc@bootc.net&gt;
Tested-by: Chris Boot &lt;bootc@bootc.net&gt;
Reported-by: Hannes Reinecke &lt;hare@suse.de&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: close target_put_sess_cmd() vs. core_tmr_abort_task() race</title>
<updated>2013-05-19T18:38:43Z</updated>
<author>
<name>Joern Engel</name>
<email>joern@logfs.org</email>
</author>
<published>2013-05-13T20:30:06Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=114b8afe93aa6bf9ffd97874643e7f8485865012'/>
<id>urn:sha1:114b8afe93aa6bf9ffd97874643e7f8485865012</id>
<content type='text'>
commit ccf5ae83a6cf3d9cfe9a7038bfe7cd38ab03d5e1 upstream.

It is possible for one thread to to take se_sess-&gt;sess_cmd_lock in
core_tmr_abort_task() before taking a reference count on
se_cmd-&gt;cmd_kref, while another thread in target_put_sess_cmd() drops
se_cmd-&gt;cmd_kref before taking se_sess-&gt;sess_cmd_lock.

This introduces kref_put_spinlock_irqsave() and uses it in
target_put_sess_cmd() to close the race window.

Signed-off-by: Joern Engel &lt;joern@logfs.org&gt;
Acked-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&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>iscsi-target: Fix processing of OOO commands</title>
<updated>2013-05-19T18:38:43Z</updated>
<author>
<name>Shlomo Pongratz</name>
<email>shlomop@mellanox.com</email>
</author>
<published>2013-05-05T14:36:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c597f2a40780026e4574e02e05296e22ad84c58f'/>
<id>urn:sha1:c597f2a40780026e4574e02e05296e22ad84c58f</id>
<content type='text'>
commit 3eccfdb01da58fbd0f789ae6ca61cee3769e26de upstream.

Fix two issues in OOO commands processing done at iscsit_attach_ooo_cmdsn.

Handle command serial numbers wrap around by using iscsi_sna_lt and not regular comparisson.

The routine iterates until it finds an entry whose serial number is greater than the serial number of
the new one, thus the new entry should be inserted before that entry and not after.

Signed-off-by: Shlomo Pongratz &lt;shlomop@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: Fix incorrect fallthrough of ALUA Standby/Offline/Transition CDBs</title>
<updated>2013-04-11T08:48:49Z</updated>
<author>
<name>Nicholas Bellinger</name>
<email>nab@linux-iscsi.org</email>
</author>
<published>2013-04-10T22:00:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=30f359a6f9da65a66de8cadf959f0f4a0d498bba'/>
<id>urn:sha1:30f359a6f9da65a66de8cadf959f0f4a0d498bba</id>
<content type='text'>
This patch fixes a bug where a handful of informational / control CDBs
that should be allowed during ALUA access state Standby/Offline/Transition
where incorrectly returning CHECK_CONDITION + ASCQ_04H_ALUA_TG_PT_*.

This includes INQUIRY + REPORT_LUNS, which would end up preventing LUN
registration when LUN scanning occured during these ALUA access states.

Cc: Hannes Reinecke &lt;hare@suse.de&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target: Fix RESERVATION_CONFLICT status regression for iscsi-target special case</title>
<updated>2013-03-29T06:42:47Z</updated>
<author>
<name>Nicholas Bellinger</name>
<email>nab@linux-iscsi.org</email>
</author>
<published>2013-03-29T06:06:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f85eda8d75d37a3796cee7f5a906e50e3f13d9e1'/>
<id>urn:sha1:f85eda8d75d37a3796cee7f5a906e50e3f13d9e1</id>
<content type='text'>
This patch fixes a regression introduced in v3.8-rc1 code where a failed
target_check_reservation() check in target_setup_cmd_from_cdb() was causing
an incorrect SAM_STAT_GOOD status to be returned during a WRITE operation
performed by an unregistered / unreserved iscsi initiator port.

This regression is only effecting iscsi-target due to a special case check
for TCM_RESERVATION_CONFLICT within iscsi_target_erl1.c:iscsit_execute_cmd(),
and was still correctly disallowing WRITE commands from backend submission
for unregistered / unreserved initiator ports, while returning the incorrect
SAM_STAT_GOOD status due to the missing SAM_STAT_RESERVATION_CONFLICT
assignment.

This regression was first introduced with:

commit de103c93aff0bed0ae984274e5dc8b95899badab
Author: Christoph Hellwig &lt;hch@lst.de&gt;
Date:   Tue Nov 6 12:24:09 2012 -0800

    target: pass sense_reason as a return value

Go ahead and re-add the missing SAM_STAT_RESERVATION_CONFLICT assignment
during a target_check_reservation() failure, so that iscsi-target code
sends the correct SCSI status.

All other fabrics using target_submit_cmd_*() with a RESERVATION_CONFLICT
call to transport_generic_request_failure() are not effected by this bug.

Reported-by: Jeff Leung &lt;jleung@curriegrad2004.ca&gt;
Cc: Christoph Hellwig &lt;hch@lst.de&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target/pscsi: Reject cross page boundary case in pscsi_map_sg</title>
<updated>2013-03-20T00:31:14Z</updated>
<author>
<name>Asias He</name>
<email>asias@redhat.com</email>
</author>
<published>2013-03-19T04:55:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8f27d487bcc2bd603c2d87e1729abcbc301f15db'/>
<id>urn:sha1:8f27d487bcc2bd603c2d87e1729abcbc301f15db</id>
<content type='text'>
We can only have one page of data in each sg element, so we can not
cross a page boundary. Fail this case.

The 'while (len &gt; 0 &amp;&amp; data_len &gt; 0) {}' loop is not necessary. The loop
can only be executed once.

Signed-off-by: Asias He &lt;asias@redhat.com&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target/file: Bump FD_MAX_SECTORS to 2048 to handle 1M sized I/Os</title>
<updated>2013-03-20T00:24:28Z</updated>
<author>
<name>Nicholas Bellinger</name>
<email>nab@linux-iscsi.org</email>
</author>
<published>2013-03-18T20:15:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f002a24388cc460c8a9be7d446a9871f7c9d52b6'/>
<id>urn:sha1:f002a24388cc460c8a9be7d446a9871f7c9d52b6</id>
<content type='text'>
This patch bumps the default FILEIO backend FD_MAX_SECTORS value from
1024 -&gt; 2048 in order to allow block_size=512 to handle 1M sized I/Os.

The current default rejects I/Os larger than 512K in sbc_parse_cdb():

[12015.915146] SCSI OP 2ah with too big sectors 1347 exceeds backend
hw_max_sectors: 1024
[12015.977744] SCSI OP 2ah with too big sectors 2048 exceeds backend
hw_max_sectors: 1024

This issue is present in &gt;= v3.5 based kernels, introduced after the
removal of se_task logic.

Reported-by: Viljami Ilola &lt;azmulx@netikka.fi&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target: fix possible memory leak in core_tpg_register()</title>
<updated>2013-03-18T19:45:52Z</updated>
<author>
<name>Wei Yongjun</name>
<email>yongjun_wei@trendmicro.com.cn</email>
</author>
<published>2013-03-15T09:19:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0fb889b83186e54c0cfa79516599f2267fb553fb'/>
<id>urn:sha1:0fb889b83186e54c0cfa79516599f2267fb553fb</id>
<content type='text'>
'se_tpg-&gt;tpg_lun_list' is malloced in core_tpg_register() and should be freed
before leaving from the error handling cases, otherwise it will cause memory
leak.
'se_tpg' is malloced out of this function, and will be freed if we return error, so
remove free for 'se_tpg'.

Signed-off-by: Wei Yongjun &lt;yongjun_wei@trendmicro.com.cn&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
<entry>
<title>target/iscsi: Fix mutual CHAP auth on big-endian arches</title>
<updated>2013-03-18T19:31:21Z</updated>
<author>
<name>Andy Grover</name>
<email>agrover@redhat.com</email>
</author>
<published>2013-03-04T21:52:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7ac9ad11b2a5cf77a92b58ee6b672ad2fa155eb1'/>
<id>urn:sha1:7ac9ad11b2a5cf77a92b58ee6b672ad2fa155eb1</id>
<content type='text'>
See https://bugzilla.redhat.com/show_bug.cgi?id=916290

Used a temp var since we take its address in sg_init_one.

Signed-off-by: Andy Grover &lt;agrover@redhat.com&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Nicholas Bellinger &lt;nab@linux-iscsi.org&gt;
</content>
</entry>
</feed>
