Re: [PATCH 6/6] Invalidate VPD page data

2014-03-17 Thread Hannes Reinecke
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 03/17/2014 11:11 PM, Jeremy Linton wrote: > On 3/15/2014 3:51 AM, Hannes Reinecke wrote: >> Add a flag 'vpd_invalid' to the SCSI device to indicate that >> the VPD data needs to be refreshed. This is required if >> either a manual rescan is triggere

Re: [PATCH] [RESEND] [SCSI] misc drivers: remove deprecated IRQF_DISABLED

2014-03-17 Thread Michael Opdenacker
Hi, On 03/05/2014 06:45 AM, Michael Opdenacker wrote: > This patch removes the use of the IRQF_DISABLED flag > in several drivers in drivers/scsi/ > > It's a NOOP since 2.6.35 and it will be removed one day. > > Signed-off-by: Michael Opdenacker > --- > drivers/scsi/dtc.c| 2 +- >

Re: [PATCH 00/12] scsi/NCR5380: fix debugging macros and #include structure

2014-03-17 Thread Joe Perches
On Tue, 2014-03-18 at 11:28 +1100, Finn Thain wrote: > This patch series addresses several issues with NCR5380 drivers: [] > 3. Broken debugging code. My preference would be to change dprintk to scsi_dbg Seems sensible otherwise. -- To unsubscribe from this list: send the line "unsubscribe linux

[PATCH 04/12] scsi/NCR5380: use NCR5380_dprint() instead of NCR5380_print()

2014-03-17 Thread Finn Thain
Only the NCR5380_dprint() macro should invoke the NCR5380_print() function. That's why NCR5380.c only defines the function #if NDEBUG. Use the standard macro. Signed-off-by: Finn Thain --- drivers/scsi/sun3_scsi.c |4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) Index: linux-m68k/dr

[PATCH 05/12] scsi/NCR5380: fix build failures when debugging is enabled

2014-03-17 Thread Finn Thain
The change from cmd->target to cmd->device->id was apparently the purpose of commit a7f251228390e87d86c5e3846f99a455517fdd8e in kernel/git/tglx/history.git but some instances have been missed. Also fix the "NDEBUG_LAST_WRITE_SENT" and "NDEBUG_ALL" typo's. Also fix some format strings (%ul becomes

[PATCH 03/12] scsi/NCR5380: remove old CVS keywords

2014-03-17 Thread Finn Thain
Signed-off-by: Finn Thain --- drivers/scsi/NCR5380.c |2 -- drivers/scsi/NCR5380.h |4 drivers/scsi/g_NCR5380.c |4 drivers/scsi/g_NCR5380.h |4 drivers/scsi/mac_scsi.c |4 drivers/scsi/mac_scsi.h |4 drivers/scsi/sun3_scsi.c |4 dr

[PATCH 06/12] scsi/NCR5380: fix dprintk macro usage and definition

2014-03-17 Thread Finn Thain
There are three implementations of the core NCR5380 driver and three sets of debugging macro definitions. And all three implementations use the NCR5380.h header as well. Two of the definitions of the dprintk macro accept a variable argument list whereas the third does not. Standardize on the varia

[PATCH 01/12] scsi/NCR5380: remove unused BOARD_NORMAL and BOARD_NCR53C400

2014-03-17 Thread Finn Thain
BOARD_NORMAL is completely unused and BOARD_NCR53C400 is used only by g_NCR5380 internally. Remove the unused definitions. Signed-off-by: Finn Thain --- drivers/scsi/arm/cumana_1.c |3 --- drivers/scsi/arm/oak.c |3 --- drivers/scsi/mac_scsi.h |3 --- drivers/scsi/sun3_scsi

[PATCH 07/12] scsi/NCR5380: adopt NCR5380_dprint() and NCR5380_dprint_phase()

2014-03-17 Thread Finn Thain
All NCR5380 drivers already include the NCR5380.h header. Better to adopt those macros rather than have three variations on them. Moreover, the macros in NCR5380.h are preferable anyway: the atari_NCR5380 and sun3_NCR5380 versions are inflexible. For example, they can't accomodate NCR5380_dprint(N

[PATCH 11/12] scsi/NCR5380: reduce depth of sun3_scsi nested includes

2014-03-17 Thread Finn Thain
Move the #include "NCR5380.h" out of the sun3_scsi.h header file and into the driver .c files, like all the other NCR5380 drivers in the tree. This improves uniformity and reduces the depth of nested includes. The sequence of #include's, #define's and #if's no longer does my head in. Signed-off-b

[PATCH 10/12] scsi/NCR5380: remove unused macro definitions

2014-03-17 Thread Finn Thain
Remove the unused (and divergent) debugging macro definitions from the sun3_NCR5380 and atari_NCR5380 drivers. These drivers have been converted to use the common macros in NCR5380.h. Signed-off-by: Finn Thain --- drivers/scsi/atari_scsi.h | 93 --- drivers/scsi/sun3_scsi.

[PATCH 08/12] scsi/NCR5380: adopt dprintk()

2014-03-17 Thread Finn Thain
All NCR5380 drivers already include the NCR5380.h header. Better to adopt those macros rather than have three variations on them. Moreover, the macros in NCR5380.h are preferable because the atari_NCR5380 and sun3_NCR5380 versions are inflexible. For example, they can't accomodate dprintk(NDEBUG_M

[PATCH 12/12] scsi/NCR5380: merge sun3_scsi_vme.c into sun3_scsi.c

2014-03-17 Thread Finn Thain
The sun3 drivers suffer from a whole bunch of duplicated code. Fix this by following the g_NCR5380_mmio example. (Notionally, sun3_scsi relates to sun3_scsi_vme in the same way that g_NCR5380 relates to g_NCR5380_mmio.) Dead code is also removed: we now have working debug macros so SUN3_SCSI_DEBUG

[PATCH 09/12] scsi/NCR5380: fix and standardize NDEBUG macros

2014-03-17 Thread Finn Thain
All three NCR5380 core driver implementations share the same NCR5380.h header file so they need to agree on certain macro definitions. The flag bit used by the NDEBUG_MERGING macro in atari_NCR5380 and sun3_NCR5380 collides with the bit used by NDEBUG_LISTS. Moreover, NDEBUG_ABORT appears in NCR5

[PATCH 00/12] scsi/NCR5380: fix debugging macros and #include structure

2014-03-17 Thread Finn Thain
(Second attempt... sorry for the earlier spam.) This patch series addresses several issues with NCR5380 drivers: 1. The complex network of #include directives. 2. Three inconsistent implementations of the core driver all attempting to share the same macro definitions in NCR5380.h. 3. Broken

[PATCH 02/12] scsi/NCR5380: remove redundant HOSTS_C macro tests

2014-03-17 Thread Finn Thain
HOSTS_C is always undefined. There is no hosts.c anymore. Signed-off-by: Finn Thain --- drivers/scsi/g_NCR5380.h |3 --- drivers/scsi/mac_scsi.h |3 --- drivers/scsi/pas16.h |3 --- drivers/scsi/sun3_scsi.h |3 --- drivers/scsi/t128.h |3 --- 5 files changed, 15 de

Re: [PATCH 6/6] Invalidate VPD page data

2014-03-17 Thread Jeremy Linton
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 3/15/2014 3:51 AM, Hannes Reinecke wrote: > Add a flag 'vpd_invalid' to the SCSI device to indicate that the VPD data > needs to be refreshed. This is required if either a manual rescan is > triggered or if the sense code INQUIRY DATA HAS CHANGED ha

Re: [PATCH v2 11/13] SCSI/libiscsi: Add check_protection callback for transports

2014-03-17 Thread Or Gerlitz
On Mon, Mar 17, 2014, Sagi Grimberg wrote: > On 3/17/2014 6:59 PM, Mike Christie wrote: >> This patch is ok, but happened to the patch for the xmit task path? > Hey Mike, Thanks for your Ack on this. > The xmit_task fix was posted as a separate patch since it is not specific > to this set (relev

Re: [PATCH 4/4] Target/dif: Introduce protection-passthough-only mode

2014-03-17 Thread Or Gerlitz
On Mon, Mar 17, 2014 at 12:52 PM, Sagi Grimberg wrote: > Target/dif: Introduce protection-passthough-only mode s/passthough/passthrough/ -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majord...@vger.kernel.org More majordomo info at http://v

Re: DMA-API mapping errors in vmw_pvscsi

2014-03-17 Thread Arvind Kumar
>It's missing checking in two places: from pci_map_single() and on >scsi_dma_map(). In the latter case, pvscsi_map_buffers needs to return >an error code and then pvscsi_queue_ring can return -1. Agreed! And in addition to that pvscsi_queue_ring() also calls pci_map_single() to map the sense buff

Re: [PATCH v2 11/13] SCSI/libiscsi: Add check_protection callback for transports

2014-03-17 Thread Sagi Grimberg
On 3/17/2014 6:59 PM, Mike Christie wrote: This patch is ok, but happened to the patch for the xmit task path? Hey Mike, Thanks for your Ack on this. The xmit_task fix was posted as a separate patch since it is not specific to this set (relevant also for existing data dma_mapping in xmit_t

Re: [PATCH v18 0/4] ata: Add APM X-Gene SoC AHCI SATA host controller support

2014-03-17 Thread Tejun Heo
On Fri, Mar 14, 2014 at 05:53:17PM -0600, Loc Ho wrote: > This patch adds support for the APM X-Gene SoC AHCI SATA host controller. In > order for the host controller to work, the corresponding PHY driver > musts also be available. Currently, only Gen3 disk is supported with this > initial version.

Re: [RFCv2 5/7] vhost/scsi: Enable T10 PI IOV -> SGL memory mapping

2014-03-17 Thread Nicholas A. Bellinger
On Mon, 2014-03-17 at 12:02 +0100, Paolo Bonzini wrote: > Il 17/03/2014 06:32, Nicholas A. Bellinger ha scritto: > > + if (vq->iov[0].iov_len == sizeof(v_req_pi)) { > > + req = (unsigned char *)&v_req_pi; > > + target = &v_req_pi.lun[1]; > > +

Re: [PATCH v5 3/3] scsi: async sd resume

2014-03-17 Thread Dan Williams
On Sun, 2014-03-16 at 11:21 -0700, James Bottomley wrote: > On Sat, 2014-03-15 at 16:35 -0700, Dan Williams wrote: > > On Sat, Mar 15, 2014 at 2:47 PM, James Bottomley > > wrote: > > > On Fri, 2014-03-14 at 13:11 -0700, Dan Williams wrote: > > >> On Mon, Mar 10, 2014 at 11:29 PM, James Bottomley >

Re: [PATCH 0/4] DIF fixes for kernel 3.15

2014-03-17 Thread Nicholas A. Bellinger
On Mon, 2014-03-17 at 12:52 +0200, Sagi Grimberg wrote: > Hey Nic, > > So here are a couple of fixes for iSER target DIF on top of latest > for-next for 3.15. > > Patch #1 fixes suppressed completions for REG_SIG_MR work requests. > > Patch #2 fixes accounting of post_send_buf_count when RDMA_RE

Re: DMA-API mapping errors in vmw_pvscsi

2014-03-17 Thread James Bottomley
On Mon, 2014-03-17 at 12:52 -0400, Josh Boyer wrote: > Hi All, > > We've had a few reports[1][2] now on the vmw_pvscsi driver throwing > DMA-API mapping errors when the DMA_API_DEBUG option is enabled. I've > included one from a recent 3.14-rc6 kernel below. Looking at > vmw_pvscsi.c, I can see

Re: [PATCH v2 11/13] SCSI/libiscsi: Add check_protection callback for transports

2014-03-17 Thread Mike Christie
On 03/17/2014 02:25 AM, Or Gerlitz wrote: > On Wed, Mar 5, 2014 at 7:43 PM, Sagi Grimberg wrote: >> > >> > iSCSI needs to be at least aware that a task involves protection >> > information. In case it does, after the transaction completed >> > libiscsi will ask the transport to check the protectio

DMA-API mapping errors in vmw_pvscsi

2014-03-17 Thread Josh Boyer
Hi All, We've had a few reports[1][2] now on the vmw_pvscsi driver throwing DMA-API mapping errors when the DMA_API_DEBUG option is enabled. I've included one from a recent 3.14-rc6 kernel below. Looking at vmw_pvscsi.c, I can see pvscsi_map_buffers is missing the calls to pci_dma_mapping_error,

Re: [v3.13][v3.14][Regression] kthread: make kthread_create()killable

2014-03-17 Thread Oleg Nesterov
On 03/17, Tetsuo Handa wrote: > > Oleg Nesterov wrote: > > > > Personally I really dislike this hack. And btw, why we return -ENOMEM if > > SIGKILL'ed? Why not EINTR ? > > I chose -ENOMEM because -ENOMEM looked better for conveying that current > thread > was SIGKILLed by the OOM killer in order t

[PATCH 07/39] scsi: avoid useless free_list lock roundtrips

2014-03-17 Thread Christoph Hellwig
Avoid hitting the host-wide free_list lock unless we need to put a command back onto the freelist. Signed-off-by: Christoph Hellwig Acked-by: Hannes Reinecke --- drivers/scsi/scsi.c | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/scsi/scsi.c b/drivers/s

[PATCH 01/39] block: fix q->flush_rq NULL pointer crash on dm-mpath flush

2014-03-17 Thread Christoph Hellwig
Commit 1874198 ("blk-mq: rework flush sequencing logic") switched ->flush_rq from being an embedded member of the request_queue structure to being dynamically allocated in blk_init_queue_node(). Request-based DM multipath doesn't use blk_init_queue_node(), instead it uses blk_alloc_queue_node() +

[PATCH 15/39] scsi: add support for per-host cmd pools

2014-03-17 Thread Christoph Hellwig
This allows drivers to specify the size of their per-command private data in the host template and then get extra memory allocated for each command instead of needing another allocation in ->queuecommand. With the current SCSI code that already does multiple allocations for each command this proba

[PATCH 14/39] scsi: simplify command allocation and freeing a bit

2014-03-17 Thread Christoph Hellwig
Just have one level of alloc/free functions that take a host instead of two levels for the allocation and different calling conventions for the free. Signed-off-by: Christoph Hellwig Reviewed-by: Paolo Bonzini --- drivers/scsi/scsi.c | 67 +++ 1

[PATCH 08/39] scsi: avoid taking host_lock in scsi_run_queue unless nessecary

2014-03-17 Thread Christoph Hellwig
If we don't have starved devices we don't need to take the host lock to iterate over them. Also split the function up to be more clear. Signed-off-by: Christoph Hellwig --- drivers/scsi/scsi_lib.c | 43 --- 1 file changed, 24 insertions(+), 19 deletions

[PATCH 13/39] megaraid: simplify internal command handling

2014-03-17 Thread Christoph Hellwig
We don't use the passed in scsi command for anything, so just add a adapter- wide internal status to go along with the internal scb that is used unter int_mtx to pass back the return value and get rid of all the complexities and abuse of the scsi_cmnd structure. This gets rid of the only user of s

[PATCH 03/39] blk-mq: fix blk_mq_end_io_partial

2014-03-17 Thread Christoph Hellwig
We need to pass the actual nr_bytes instead of all bytes in the request. Signed-off-by: Christoph Hellwig --- block/blk-mq.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index 883f720..d81dc8b 100644 --- a/block/blk-mq.c +++ b/block/blk-m

[PATCH 12/39] scsi: remove a useless get/put_device pair in scsi_requeue_command

2014-03-17 Thread Christoph Hellwig
Avoid a spurious device get/put pair by cleaning up scsi_requeue_command and folding scsi_unprep_request into it. Signed-off-by: Christoph Hellwig Acked-by: Hannes Reinecke --- drivers/scsi/scsi_lib.c | 35 +++ 1 file changed, 3 insertions(+), 32 deletions(-)

[PATCH 10/39] scsi: remove a useless get/put_device pair in scsi_request_fn

2014-03-17 Thread Christoph Hellwig
SCSI devices may only be removed by calling scsi_remove_device(). That function must invoke blk_cleanup_queue() before the final put of sdev->sdev_gendev. Since blk_cleanup_queue() waits for the block queue to drain and then tears it down, scsi_request_fn cannot be active anymore after blk_cleanup_

[PATCH 11/39] scsi: remove a useless get/put_device pair in scsi_next_command

2014-03-17 Thread Christoph Hellwig
Eliminate a get_device() / put_device() pair from scsi_next_command(). Both are atomic operations hence removing these slightly improves performance. [hch: slight changes due to different context] Signed-off-by: Bart Van Assche Acked-by: Hannes Reinecke Signed-off-by: Christoph Hellwig --- dr

[PATCH 16/39] virtio_scsi: use cmd_size

2014-03-17 Thread Christoph Hellwig
Taken almost entirely from Nicholas Bellinger's scsi-mq conversion. Signed-off-by: Christoph Hellwig Acked-by: Paolo Bonzini --- drivers/scsi/virtio_scsi.c | 25 +++-- include/scsi/scsi_cmnd.h |9 + 2 files changed, 16 insertions(+), 18 deletions(-) diff --g

[PATCH 09/39] scsi: do not manipulate device reference counts in scsi_get/put_command

2014-03-17 Thread Christoph Hellwig
Many callers won't need this and we can optimize them away. In addition the handling in the __-prefixed variants was inconsistant to start with. Based on an earlier patch from Bart Van Assche. Signed-off-by: Christoph Hellwig --- drivers/scsi/scsi.c | 37 -

[PATCH 19/39] scsi: push host_lock down into scsi_{host,target}_queue_ready

2014-03-17 Thread Christoph Hellwig
Prepare for not taking a host-wide lock in the dispatch path by pushing the lock down into the places that actually need it. Note that this patch is just a preparation step, as it will actually increase lock roundtrips and thus decrease performance on its own. Signed-off-by: Christoph Hellwig --

[PATCH 22/39] scsi: convert device_busy to atomic_t

2014-03-17 Thread Christoph Hellwig
Avoid taking the queue_lock to check the per-device queue limit. Instead we do an atomic_inc_return early on to grab our slot in the queue, and if nessecary decrement it after finishing all checks. Unlike the host and target busy counters this doesn't allow us to avoid the queue_lock in the reque

[PATCH 18/39] scsi: remove scsi_end_request

2014-03-17 Thread Christoph Hellwig
By folding scsi_end_request into its only caller we can significantly clean up the completion logic. We can use simple goto labels now to only have a single place to finish or requeue command there instead of the previous convoluted logic. Signed-off-by: Christoph Hellwig --- drivers/scsi/scsi_

[PATCH 17/39] scsi: explicitly release bidi buffers

2014-03-17 Thread Christoph Hellwig
Instead of trying to guess when we have a BIDI buffer in scsi_release_buffers add a function to explicitly free the BIDI ressoures in the one place that handles them. This avoids needing a special __scsi_release_buffers for the case where we already have freed the request as well. Signed-off-by:

[PATCH 20/39] scsi: convert target_busy to an atomic_t

2014-03-17 Thread Christoph Hellwig
Avoid taking the host-wide host_lock to check the per-target queue limit. Instead we do an atomic_inc_return early on to grab our slot in the queue, and if nessecary decrement it after finishing all checks. Signed-off-by: Christoph Hellwig --- drivers/scsi/scsi_lib.c| 52 ++

[PATCH 04/39] blk-mq: initialize resid_len

2014-03-17 Thread Christoph Hellwig
Signed-off-by: Christoph Hellwig --- block/blk-mq.c |2 ++ 1 file changed, 2 insertions(+) diff --git a/block/blk-mq.c b/block/blk-mq.c index d81dc8b..e3284f6 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -350,6 +350,8 @@ static void blk_mq_start_request(struct request *rq, bool last)

[PATCH 23/39] scsi: fix the {host,target,device}_blocked counter mess

2014-03-17 Thread Christoph Hellwig
Seems like these counters are missing any sort of synchronization for updates, as a over 10 year old comment from me noted. Fix this by using atomic counters, and while we're at it also make sure they are in the same cacheline as the _busy counters and not needlessly stored to in every I/O complet

[PATCH 21/39] scsi: convert host_busy to atomic_t

2014-03-17 Thread Christoph Hellwig
Avoid taking the host-wide host_lock to check the per-host queue limit. Instead we do an atomic_inc_return early on to grab our slot in the queue, and if nessecary decrement it after finishing all checks. Signed-off-by: Christoph Hellwig --- drivers/scsi/advansys.c |4 +- drivers

[PATCH 31/39] scsi: split __scsi_queue_insert

2014-03-17 Thread Christoph Hellwig
Factor out a helper to set the _blocked values, which we'll reuse for the blk-mq code path. Signed-off-by: Christoph Hellwig --- drivers/scsi/scsi_lib.c | 44 ++-- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/drivers/scsi/scsi_lib.c b/

[PATCH 24/39] blk-mq: add blk_mq_requeue_request

2014-03-17 Thread Christoph Hellwig
This allows to requeue a request that has been accepted by ->queue_rq earlier. This is needed by the SCSI layer in various error conditions. The existing internal blk_mq_requeue_request is renamed to __blk_mq_requeue_request as it is a lower level building block for this funtionality. Signed-off

[PATCH 26/39] HACK: support blk_delay_queue for blk-mq

2014-03-17 Thread Christoph Hellwig
Signed-off-by: Christoph Hellwig --- block/blk-core.c | 11 --- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/block/blk-core.c b/block/blk-core.c index 4cd5ffc..47af781 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -163,9 +163,14 @@ static void blk_delay_work(s

[PATCH 32/39] scsi: unwind blk_end_request_all and blk_end_request_err calls

2014-03-17 Thread Christoph Hellwig
Calling blk_end_request directly with the helpers to get the right amount will make the conversion to blk-mq easier as we only have one place to switch between the different completion functions. It also makes the intention a little more clear to me, but that's a minor side effect. Signed-off-by:

[PATCH 25/39] blk-mq: add async paramter to blk_mq_start_stopped_hw_queues

2014-03-17 Thread Christoph Hellwig
Signed-off-by: Christoph Hellwig --- block/blk-mq.c |4 ++-- drivers/block/virtio_blk.c |4 ++-- include/linux/blk-mq.h |2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index 9e13761..6f04dda 100644 --- a/block/blk-m

[PATCH 27/39] blk-mq: export blk_mq_insert_request

2014-03-17 Thread Christoph Hellwig
We'll need this for now when scsi is built as a module. Eventually I hope to be able to move it to a higher level API intead. Signed-off-by: Christoph Hellwig --- block/blk-mq.c |1 + 1 file changed, 1 insertion(+) diff --git a/block/blk-mq.c b/block/blk-mq.c index 6f04dda..4408c70 100644

[PATCH 33/39] scsi: initial blk-mq support

2014-03-17 Thread Christoph Hellwig
Add support for using the blk-mq code to submit requests to SCSI drivers. There is very little blk-mq specific code, because we try to push most things out to the block layer. Based on the earlier scsi-mq prototype by Nicholas Bellinger, although not a whole lot of actual code is left. Not-quite

[PATCH 35/39] virtio_scsi: use blk_mq

2014-03-17 Thread Christoph Hellwig
Signed-off-by: Christoph Hellwig --- drivers/scsi/virtio_scsi.c |2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/scsi/virtio_scsi.c b/drivers/scsi/virtio_scsi.c index 5ec4a73..98469cd 100644 --- a/drivers/scsi/virtio_scsi.c +++ b/drivers/scsi/virtio_scsi.c @@ -680,6 +680,7 @@ stat

[PATCH 05/39] blk-mq: replace blk_mq_init_commands with a ->init_request method

2014-03-17 Thread Christoph Hellwig
Bedides a simpler and cleared interface this also allows to initialize the flush_rq properly. The interface for that is still a bit messy as we don't have a hw_ctx available for the flush request, but that's something that should be fixable with a little work once the demand arises. Signed-off-by

[PATCH 38/39] blk-mq: make blk_mq_start_stopped_hw_queues run a queue even if not stopped

2014-03-17 Thread Christoph Hellwig
We need this as a workaround for the scsi midlayer, should be fixed in a nicer way eventually. --- block/blk-mq.c |6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index 4408c70..4950f8e 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@

[PATCH 36/39] iscsi_tcp: use blk_mq

2014-03-17 Thread Christoph Hellwig
Signed-off-by: Christoph Hellwig --- drivers/scsi/iscsi_tcp.c |1 + 1 file changed, 1 insertion(+) diff --git a/drivers/scsi/iscsi_tcp.c b/drivers/scsi/iscsi_tcp.c index add6d15..44aae3d 100644 --- a/drivers/scsi/iscsi_tcp.c +++ b/drivers/scsi/iscsi_tcp.c @@ -957,6 +957,7 @@ static struct sc

[PATCH 02/39] block: change flush sequence list addition back to front add

2014-03-17 Thread Christoph Hellwig
Commit 18741986 inadvertently changed the rq flush insertion from a head to a tail insertion. Fix that back up. Signed-off-by: Mike Snitzer Signed-off-by: Jens Axboe --- block/blk-flush.c | 11 +++ 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/block/blk-flush.c b/block

[PATCH 30/39] scsi: centralize command re-queueing in scsi_dispatch_fn

2014-03-17 Thread Christoph Hellwig
Make sure we only have the logic for requeing commands in one place. Signed-off-by: Christoph Hellwig --- drivers/scsi/scsi.c | 36 +--- drivers/scsi/scsi_lib.c |9 ++--- 2 files changed, 19 insertions(+), 26 deletions(-) diff --git a/drivers/scsi/s

[PATCH 28/39] scsi: reintroduce scsi_driver.init_command

2014-03-17 Thread Christoph Hellwig
Instead of letting the ULD play games with the prep_fn move back to the model of a central prep_fn with a callback to the ULD. This already cleans up and shortens the code by itself, and will be required to properly support blk-mq in the SCSI midlayer. Signed-off-by: Christoph Hellwig --- drive

[PATCH 29/39] block: remove unprep_rq_fn

2014-03-17 Thread Christoph Hellwig
Now that scsi doesn't use it anymore there's no user left. Signed-off-by: Christoph Hellwig --- block/blk-core.c | 11 ++- block/blk-settings.c | 17 - include/linux/blkdev.h |3 --- 3 files changed, 2 insertions(+), 29 deletions(-) diff --git a/block/blk

[PATCH 34/39] scsi: partially stub out scsi_adjust_queue_depth when using blk-mq

2014-03-17 Thread Christoph Hellwig
This will have to be funnelled to blk-mq directly, but skip it for now. Signed-off-by: Christoph Hellwig --- drivers/scsi/scsi.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c index 7672371..22af3d3 100644 --- a/drivers/scsi/scsi.

[PATCH 39/39] scsi: implement ->init_request and ->exit_request

2014-03-17 Thread Christoph Hellwig
Signed-off-by: Christoph Hellwig --- drivers/scsi/scsi_lib.c | 67 --- include/linux/blk-mq.h |3 +++ 2 files changed, 25 insertions(+), 45 deletions(-) diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c index 836f197..e6d87e3 100644

[PATCH 00/39] [WIP] scsi multiqueue

2014-03-17 Thread Christoph Hellwig
I'd like to repost the current state of the scsi multiqueue work. This version has shown stable under various loads and is getting close to feature complete. So far we see it improving the IOPS over the old code up to 30% and maxing out the current test hardware, so we will have to test on bigger

[PATCH 06/39] blk-mq: add a exit_request method

2014-03-17 Thread Christoph Hellwig
This gives drivers an easy way to free any ressources allocated in ->init_request. Signed-off-by: Christoph Hellwig --- block/blk-mq.c | 18 +- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index c2ce99b..c7e723e 100644 --- a/bloc

[PATCH 37/39] ata_piix: use blk_mq

2014-03-17 Thread Christoph Hellwig
Signed-off-by: Christoph Hellwig --- drivers/ata/ata_piix.c |1 + 1 file changed, 1 insertion(+) diff --git a/drivers/ata/ata_piix.c b/drivers/ata/ata_piix.c index 6334c8d..df00cef 100644 --- a/drivers/ata/ata_piix.c +++ b/drivers/ata/ata_piix.c @@ -1068,6 +1068,7 @@ static u8 piix_vmw_bmdma

Re: [PATCH 00/39] [WIP] scsi multiqueue

2014-03-17 Thread Christoph Hellwig
Btw, this is also available from git://git.infradead.org/users/hch/scsi.git#scsi-mq-wip.3 for those who prefer a git tree. This work was sponsored by the ION division of Fusion IO. -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majord...

Re: [RFCv2 5/7] vhost/scsi: Enable T10 PI IOV -> SGL memory mapping

2014-03-17 Thread Paolo Bonzini
Il 17/03/2014 06:32, Nicholas A. Bellinger ha scritto: > + if (vq->iov[0].iov_len == sizeof(v_req_pi)) { > + req = (unsigned char *)&v_req_pi; > + target = &v_req_pi.lun[1]; > + req_size = sizeof(v_req_pi); > +

[PATCH 2/4] Target/iser: Consider DIF and RDMA_READ completions when calculating post_send counter

2014-03-17 Thread Sagi Grimberg
If protection is involved, iSER target must wait for completion of RDMA_READ before sending SCSI response. So we must consider that when calculating post_send_buf_count additions, also when processing good/error completions. Signed-off-by: Sagi Grimberg --- drivers/infiniband/ulp/isert/ib_isert.

[PATCH 0/4] DIF fixes for kernel 3.15

2014-03-17 Thread Sagi Grimberg
Hey Nic, So here are a couple of fixes for iSER target DIF on top of latest for-next for 3.15. Patch #1 fixes suppressed completions for REG_SIG_MR work requests. Patch #2 fixes accounting of post_send_buf_count when RDMA_READs may get a completion (required in the DIF case). Patch #3 moves the

[PATCH 1/4] Target/iser: Fix signature work requests accounting

2014-03-17 Thread Sagi Grimberg
As REG_SIG_MR work request and it's LOCAL_INVALIDATE are not accounted in post_send_buf_count we must color these with ISER_FASTREG_LI_WRID in order to process their error completions when the QP flushes. Signed-off-by: Sagi Grimberg --- drivers/infiniband/ulp/isert/ib_isert.c |2 ++ 1 files

[PATCH 4/4] Target/dif: Introduce protection-passthough-only mode

2014-03-17 Thread Sagi Grimberg
Some transports (iSCSI/iSER/SRP/FC) support INSERT/STRIP capabilities while other transports like loopback/vhost-scsi currently don't support these operations (maybe will never do) These transports will set protection-passthrough-only (prot_pto) bit in the se_cmd structure. Signed-off-by: Sagi Gri

[PATCH 3/4] Target/iser: Move check signature status to a function

2014-03-17 Thread Sagi Grimberg
Remove code duplication from RDMA_READ and RDMA_WRITE completions that do basically the same check. Signed-off-by: Sagi Grimberg --- drivers/infiniband/ulp/isert/ib_isert.c | 115 +- 1 files changed, 50 insertions(+), 65 deletions(-) diff --git a/drivers/infiniband/

Re: [PATCH v2 11/13] SCSI/libiscsi: Add check_protection callback for transports

2014-03-17 Thread Or Gerlitz
On Wed, Mar 5, 2014 at 7:43 PM, Sagi Grimberg wrote: > > iSCSI needs to be at least aware that a task involves protection > information. In case it does, after the transaction completed > libiscsi will ask the transport to check the protection status > of the transaction. > > Unlike transport erro