Nicholas A. Bellinger | 30 Jan 23:17 2015

[PATCH-v3.10.y-v2 00/12] target: Stable backports

From: Nicholas Bellinger <nab <at> linux-iscsi.org>

Hi Greg-KH,

(Email hiccup, resending original series as -v2 with missing patches)

Here is the remaining stable backport patch that has been updated
to apply against v3.10.65.  The iser-target related changes have
been tested by Chris Moore, and reviewed by Sagi Grimberg.

Please apply to queue-3.10.

Thank you,

--nab

Chris Moore (1):
  IB/isert: Adjust CQ size to HW limits

Hannes Reinecke (1):
  tcm_loop: Fix wrong I_T nexus association

Nicholas Bellinger (3):
  vhost-scsi: Take configfs group dependency during
    VHOST_SCSI_SET_ENDPOINT
  vhost-scsi: Add missing virtio-scsi -> TCM attribute conversion
  target: Drop arbitrary maximum I/O size limit

Or Gerlitz (1):
  ib_isert: Add max_send_sge=2 minimum for control PDU responses
(Continue reading)

Nicholas A. Bellinger | 30 Jan 23:10 2015

[PATCH-v3.14.y 0/1] target: Stable backports

From: Nicholas Bellinger <nab <at> linux-iscsi.org>

Hi Greg-KH,

Here is the remaining stable backport patch that has been updated
to apply against v3.14.29.

Please apply to queue-3.14.

Thank you,

--nab

Nicholas Bellinger (1):
  target: Drop arbitrary maximum I/O size limit

 drivers/target/target_core_device.c |  8 ++++----
 drivers/target/target_core_file.c   | 11 ++++++++++-
 drivers/target/target_core_iblock.c |  2 +-
 drivers/target/target_core_sbc.c    | 15 ---------------
 drivers/target/target_core_spc.c    |  5 +----
 5 files changed, 16 insertions(+), 25 deletions(-)

--

-- 
1.8.5.3

Nicholas A. Bellinger | 30 Jan 09:12 2015

[PATCH 0/8] vhost/scsi: Add ANY_LAYOUT support

From: Nicholas Bellinger <nab <at> linux-iscsi.org>

Hi MST & Paolo,

The series adds initial vhost/scsi ANY_LAYOUT layout support.

It assumes request/CDB and response/sense_buffer headers may span more
than a single iovec using lib/iovec.c logic, along with a new addition
of memcpy_fromiovec_out() to return the current re-calcuated **iov_out.

This is currently done using a new vhost_scsi_handle_vqal() callback,
and doesn't modify behavior of existing !ANY_LAYOUT code.

It also allows virtio-scsi headers + T10_PI + Data SGL payloads to span
the same iovec when pinning user-space memory via get_user_pages_fast()
code.  (Not tested yet)

So far it's functioning against v3.19-rc1 virtio-scsi LLD code, with
a layout of header -> T10_PI -> Data SGL payload in seperate iovecs
and VIRTIO_F_ANY_LAYOUT + VIRTIO_F_VERSION_1 guest feature bits.

Please review.

Thank you,

--nab

Nicholas Bellinger (8):
  lib/iovec: Add memcpy_fromiovec_out library function
  vhost/scsi: Convert completion path to use memcpy_toiovecend
(Continue reading)

Roy Franz | 26 Jan 22:43 2015

linux-iscsi.org domain expired

It is currently resolving to a Network solutions renew/backorder page,
and the whois tech email is now: pendingrenewalordeletion <at> networksolutions.com
I'm hoping someone subscribed here knows who to contact regarding this domain.

Thanks,
Roy
Sagi Grimberg | 26 Jan 11:49 2015

[PATCH v1 0/4] iscsi target support for large sendtargets response payloads

In case the sendtargets response payload exceeds the initiator MRDSL, we must
break the response into pieces and prepare for the initiator next (empty) text
messages.

We write the maximum payload the initiator can receive (or less if we have less)
and if we are not done, we set C=1, F=0, TTT!=0xffffffff. In a discovery session
we accept empty text request by assuming they are consecutive sendtargets (does
anyone have a better idea here?).

The set consist of 2 preparation patches, a patch to add this support and another
patch to fix a bug in isert.

Changes from v0:
- Fix typo s/cusecutive/consecutive/g

Sagi Grimberg (4):
  iscsi-target: Introduce session_get_next_ttt
  iscsi-target: Don't over-allocate sendtargets text resp buffer
  iscsi-target: Support multi-sequence sendtargets text response
  iser-target: Fix wrong allocation in the case of an empty text
    message

 drivers/infiniband/ulp/isert/ib_isert.c  |   14 +++--
 drivers/target/iscsi/iscsi_target.c      |   82 ++++++++++++++++++++---------
 drivers/target/iscsi/iscsi_target_util.c |    9 +---
 include/target/iscsi/iscsi_target_core.h |   16 ++++++
 4 files changed, 82 insertions(+), 39 deletions(-)

Sagi Grimberg | 26 Jan 11:39 2015

[PATCH 0/4] iscsi target support for large sendtargets response payloads

In case the sendtargets response payload exceeds the initiator MRDSL, we must
break the response into pieces and prepare for the initiator next (empty) text
messages.

We write the maximum payload the initiator can receive (or less if we have less)
and if we are not done, we set C=1, F=0, TTT!=0xffffffff. In a discovery session
we accept empty text request by assuming they are consecutive sendtargets (does
anyone have a better idea here?).

The set consist of 2 preparation patches, a patch to add this support and another
patch to fix a bug in isert.

Sagi Grimberg (4):
  iscsi-target: Introduce session_get_next_ttt
  iscsi-target: Don't over-allocate sendtargets text resp buffer
  iscsi-target: Support multi-sequence sendtargets text response
  iser-target: Fix wrong allocation in the case of an empty text
    message

 drivers/infiniband/ulp/isert/ib_isert.c  |   14 +++--
 drivers/target/iscsi/iscsi_target.c      |   82 ++++++++++++++++++++---------
 drivers/target/iscsi/iscsi_target_util.c |    9 +---
 include/target/iscsi/iscsi_target_core.h |   16 ++++++
 4 files changed, 82 insertions(+), 39 deletions(-)

Christoph Hellwig | 25 Jan 21:11 2015
Picon

switch loop and target to use ITER_BVEC iov_iter V2

This series adds two new helpers to easily read from and write to
arbitrary iov_iter structures and switches the loop driver and target file
backend to use those with bio_vecs.

Using bio_vecs directly avoids the need to kmap individual elements in
the callers, which is epecially important in the target driver, and also
gets rid of the horrible splice code abuse hack in the loop driver.

Changes since V1:
	- rebase ontop of viro/for-next
	- changed the helpers to read/write any iov_iter, and use
	  iov_iter_bvec to build those
	- return -EINVAL if ->read_iter/->write_iter aren't present
	  instead of -EBADFD
	- use kcalloc in the target patch
	- add a patch to rewrite the target WRITE SAME emulation

Sagi Grimberg | 25 Jan 18:11 2015

[PATCH 1/2] iser-target: Fix sparse warning

isert_debug_level should be static, hence no need
to initialize it.

Reported-by: Shachar Raindel <raindel <at> mellanox.com>
Signed-off-by: Sagi Grimberg <sagig <at> mellanox.com>
---
 drivers/infiniband/ulp/isert/ib_isert.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/infiniband/ulp/isert/ib_isert.c b/drivers/infiniband/ulp/isert/ib_isert.c
index 6b5ce34..3a383f8 100644
--- a/drivers/infiniband/ulp/isert/ib_isert.c
+++ b/drivers/infiniband/ulp/isert/ib_isert.c
 <at>  <at>  -38,7 +38,7  <at>  <at> 
 #define ISER_MAX_CQ_LEN		(ISER_MAX_RX_CQ_LEN + ISER_MAX_TX_CQ_LEN + \
 				 ISERT_MAX_CONN)

-int isert_debug_level = 0;
+static int isert_debug_level;
 module_param_named(debug_level, isert_debug_level, int, 0644);
 MODULE_PARM_DESC(debug_level, "Enable debug tracing if > 0 (default:0)");

--

-- 
1.7.1

Sagi Grimberg | 25 Jan 18:09 2015

[PATCH RFC] iser-target: Use WQ_UNBOUND for completion workqueue

Bound workqueues might be too restrictive since they allow
only a single core per session for processing completions.
WQ_UNBOUND will allow bouncing to another CPU if the running
CPU is currently busy. Luckily, our workqueues are NUMA aware
and will first try to bounce within the same NUMA socket.
My measurements with NULL backend devices show that there is
no (noticeable) additional latency as a result of the change.
I'd expect even to gain performance when working with fast
devices that also allocate MSIX interrupt vectors.

While we're at it, make it WQ_HIGHPRI since processing
completions is really a high priority for performance.

This one is an RFC since I'd like to ask the users to try out
this patch and report the results.

Signed-off-by: Sagi Grimberg <sagig <at> mellanox.com>
---
 drivers/infiniband/ulp/isert/ib_isert.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/infiniband/ulp/isert/ib_isert.c b/drivers/infiniband/ulp/isert/ib_isert.c
index dafb3c5..6b5ce34 100644
--- a/drivers/infiniband/ulp/isert/ib_isert.c
+++ b/drivers/infiniband/ulp/isert/ib_isert.c
 <at>  <at>  -3320,7 +3320,8  <at>  <at>  static int __init isert_init(void)
 {
 	int ret;

-	isert_comp_wq = alloc_workqueue("isert_comp_wq", 0, 0);
(Continue reading)

Nicholas A. Bellinger | 22 Jan 05:15 2015

[RFC-v3.10.y 0/8] iser-target: Stable backports

From: Nicholas Bellinger <nab <at> linux-iscsi.org>

Hi Sagi & Or,

Here are the pending v3.10.y backports for iser-target.  As mentioned
off-list, given the differences in v3.10 code between how iscsi-target
multi-plexes login requests starting in >= v3.12 code, the patch:

    iser-target: Parallelize CM connection establishment

ended up having to include a few extra changes in isert_rx_login_req()
and isert_get_login_rx() to check login->first_request in order to line
up with expectations of the >= v3.12 logic.

Aside from that, the backport from v3.14.y was pretty straight-forward.

Please verify that things look and function as expected, and if all
looks well I'll push the remaining v3.10.y patches to Greg-KH.

Thank you,

--nab

Chris Moore (1):
  IB/isert: Adjust CQ size to HW limits

Or Gerlitz (1):
  ib_isert: Add max_send_sge=2 minimum for control PDU responses

Sagi Grimberg (6):
(Continue reading)

Nicholas A. Bellinger | 22 Jan 04:34 2015

[PATCH-v3.14.y 0/9] target: Stable backports

From: Nicholas Bellinger <nab <at> linux-iscsi.org>

Hi Greg-KH,

Here are the remaining nine stable backport patches that have been
updated to apply against v3.14.29.

Please apply to queue-3.14.

Thank you!

--nab

Hannes Reinecke (2):
  tcm_loop: Fixup tag handling
  tcm_loop: Fix wrong I_T nexus association

Nicholas Bellinger (1):
  vhost-scsi: Add missing virtio-scsi -> TCM attribute conversion

Sagi Grimberg (6):
  iscsi,iser-target: Initiate termination only once
  iser-target: Fix flush + disconnect completion handling
  iser-target: Parallelize CM connection establishment
  iser-target: Fix connected_handler + teardown flow race
  iser-target: Handle ADDR_CHANGE event for listener cm_id
  iser-target: Fix implicit termination of connections

 drivers/infiniband/ulp/isert/ib_isert.c   | 344 +++++++++++++++++++++---------
 drivers/infiniband/ulp/isert/ib_isert.h   |   7 +-
(Continue reading)


Gmane