Re: [PATCH V7 4/6] blk-mq: introduce .get_budget and .put_budget in blk_mq_ops

2017-10-16 Thread Hannes Reinecke
On 10/17/2017 03:29 AM, Ming Lei wrote: > On Mon, Oct 16, 2017 at 01:30:09PM +0200, Hannes Reinecke wrote: >> On 10/13/2017 07:29 PM, Ming Lei wrote: >>> On Fri, Oct 13, 2017 at 05:08:52PM +, Bart Van Assche wrote: On Sat, 2017-10-14 at 00:45 +0800, Ming Lei wrote: > On Fri, Oct 13, 20

Re: [PATCH v9 10/10] block, nvme: Introduce blk_mq_req_flags_t

2017-10-16 Thread Hannes Reinecke
On 10/17/2017 01:29 AM, Bart Van Assche wrote: > Several block layer and NVMe core functions accept a combination > of BLK_MQ_REQ_* flags through the 'flags' argument but there is > no verification at compile time whether the right type of block > layer flags is passed. Make it possible for sparse

Re: [PATCH v9 09/10] block, scsi: Make SCSI quiesce and resume work reliably

2017-10-16 Thread Hannes Reinecke
On 10/17/2017 01:29 AM, Bart Van Assche wrote: > The contexts from which a SCSI device can be quiesced or resumed are: > * Writing into /sys/class/scsi_device/*/device/state. > * SCSI parallel (SPI) domain validation. > * The SCSI device power management methods. See also scsi_bus_pm_ops. > > It i

Re: [PATCH v9 08/10] block: Add the QUEUE_FLAG_PREEMPT_ONLY request queue flag

2017-10-16 Thread Hannes Reinecke
On 10/17/2017 01:29 AM, Bart Van Assche wrote: > This flag will be used in the next patch to let the block layer > core know whether or not a SCSI request queue has been quiesced. > A quiesced SCSI queue namely only processes RQF_PREEMPT requests. > > Signed-off-by: Bart Van Assche > Tested-by: M

Re: [PATCH v9 07/10] ide, scsi: Tell the block layer at request allocation time about preempt requests

2017-10-16 Thread Hannes Reinecke
On 10/17/2017 01:29 AM, Bart Van Assche wrote: > Convert blk_get_request(q, op, __GFP_RECLAIM) into > blk_get_request_flags(q, op, BLK_MQ_PREEMPT). This patch does not > change any functionality. > > Signed-off-by: Bart Van Assche > Tested-by: Martin Steigerwald > Acked-by: David S. Miller [ fo

Re: [PATCH v9 05/10] block: Introduce blk_get_request_flags()

2017-10-16 Thread Hannes Reinecke
On 10/17/2017 01:29 AM, Bart Van Assche wrote: > A side effect of this patch is that the GFP mask that is passed to > several allocation functions in the legacy block layer is changed > from GFP_KERNEL into __GFP_DIRECT_RECLAIM. > > Signed-off-by: Bart Van Assche > Tested-by: Martin Steigerwald

Re: [PATCH v9 06/10] block: Introduce BLK_MQ_REQ_PREEMPT

2017-10-16 Thread Hannes Reinecke
On 10/17/2017 01:29 AM, Bart Van Assche wrote: > Set RQF_PREEMPT if BLK_MQ_REQ_PREEMPT is passed to > blk_get_request_flags(). > > Signed-off-by: Bart Van Assche > Tested-by: Martin Steigerwald > Cc: Christoph Hellwig > Cc: Ming Lei > Cc: Hannes Reinecke > Cc: Johannes Thumshirn > --- > blo

Re: [PATCH v9 04/10] block: Make q_usage_counter also track legacy requests

2017-10-16 Thread Hannes Reinecke
On 10/17/2017 01:28 AM, Bart Van Assche wrote: > From: Ming Lei > > This patch makes it possible to pause request allocation for > the legacy block layer by calling blk_mq_freeze_queue() and > blk_mq_unfreeze_queue(). > > Signed-off-by: Ming Lei > [ bvanassche: Combined two patches into one, ed

Re: [PATCH v9 03/10] md: Neither resync nor reshape while the system is frozen

2017-10-16 Thread Hannes Reinecke
On 10/17/2017 01:28 AM, Bart Van Assche wrote: > Some people use the md driver on laptops and use the suspend and > resume functionality. Since it is essential that submitting of > new I/O requests stops before a hibernation image is created, > interrupt the md resync and reshape actions if the sys

Re: [PATCH v9 02/10] md: Introduce md_stop_all_writes()

2017-10-16 Thread Hannes Reinecke
On 10/17/2017 01:28 AM, Bart Van Assche wrote: > Introduce md_stop_all_writes() because the next patch will add > a second caller for this function. This patch does not change > any functionality. > > Signed-off-by: Bart Van Assche > Reviewed-by: Johannes Thumshirn > Reviewed-by: Shaohua Li > T

Re: [PATCH v9 01/10] md: Rename md_notifier into md_reboot_notifier

2017-10-16 Thread Hannes Reinecke
On 10/17/2017 01:28 AM, Bart Van Assche wrote: > This avoids confusion with the pm notifier that will be added > through a later patch. > > Signed-off-by: Bart Van Assche > Reviewed-by: Johannes Thumshirn > Reviewed-by: Shaohua Li > Tested-by: Martin Steigerwald > Cc: linux-r...@vger.kernel.or

Re: [PATCH v2 8/8] scsi/pmcraid: Use sgl_alloc_order() and sgl_free_order()

2017-10-16 Thread Hannes Reinecke
On 10/17/2017 12:49 AM, Bart Van Assche wrote: > Use the sgl_alloc_order() and sgl_free_order() functions instead > of open coding these functions. > > Signed-off-by: Bart Van Assche > Reviewed-by: Johannes Thumshirn > Cc: linux-scsi@vger.kernel.org > Cc: Martin K. Petersen > Cc: Anil Ravindran

Re: [PATCH v2 7/8] scsi/pmcraid: Remove an unused structure member

2017-10-16 Thread Hannes Reinecke
On 10/17/2017 12:49 AM, Bart Van Assche wrote: > Signed-off-by: Bart Van Assche > Reviewed-by: Johannes Thumshirn > Cc: linux-scsi@vger.kernel.org > Cc: Martin K. Petersen > Cc: Anil Ravindranath > --- > drivers/scsi/pmcraid.h | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/drivers/sc

Re: [PATCH v2 6/8] scsi/ipr: Use sgl_alloc_order() and sgl_free_order()

2017-10-16 Thread Hannes Reinecke
On 10/17/2017 12:49 AM, Bart Van Assche wrote: > Use the sgl_alloc_order() and sgl_free_order() functions instead > of open coding these functions. > > Signed-off-by: Bart Van Assche > Reviewed-by: Johannes Thumshirn > Cc: linux-scsi@vger.kernel.org > Cc: Martin K. Petersen > Cc: Brian King >

Re: [PATCH v2 5/8] target: Use sgl_alloc_order() and sgl_free()

2017-10-16 Thread Hannes Reinecke
On 10/17/2017 12:49 AM, Bart Van Assche wrote: > Use the sgl_alloc_order() and sgl_free() functions instead of open > coding these functions. > > Signed-off-by: Bart Van Assche > Cc: Nicholas A. Bellinger > Cc: Christoph Hellwig > Cc: Hannes Reinecke > Cc: Sagi Grimberg > --- > drivers/targe

Re: [PATCH v2 4/8] nvmet/rdma: Use sgl_alloc() and sgl_free()

2017-10-16 Thread Hannes Reinecke
On 10/17/2017 12:49 AM, Bart Van Assche wrote: > Use the sgl_alloc() and sgl_free() functions instead of open coding > these functions. > > Signed-off-by: Bart Van Assche > Reviewed-by: Johannes Thumshirn > Cc: Keith Busch > Cc: Christoph Hellwig > Cc: Sagi Grimberg > --- > drivers/nvme/targ

Re: [PATCH v2 3/8] nvmet/fc: Use sgl_alloc() and sgl_free()

2017-10-16 Thread Hannes Reinecke
On 10/17/2017 12:49 AM, Bart Van Assche wrote: > Use the sgl_alloc() and sgl_free() functions instead of open coding > these functions. > > Signed-off-by: Bart Van Assche > Reviewed-by: Johannes Thumshirn > Cc: Keith Busch > Cc: Christoph Hellwig > Cc: James Smart > Cc: Sagi Grimberg > --- >

Re: [PATCH v2 2/8] crypto: scompress - use sgl_alloc() and sgl_free()

2017-10-16 Thread Hannes Reinecke
On 10/17/2017 12:49 AM, Bart Van Assche wrote: > Use the sgl_alloc() and sgl_free() functions instead of open coding > these functions. > > Signed-off-by: Bart Van Assche > Cc: Ard Biesheuvel > Cc: Herbert Xu > --- > crypto/Kconfig | 1 + > crypto/scompress.c | 51 ++--

Re: [PATCH v2 1/8] lib/scatterlist: Introduce sgl_alloc() and sgl_free()

2017-10-16 Thread Hannes Reinecke
On 10/17/2017 12:49 AM, Bart Van Assche wrote: > Many kernel drivers contain code that allocates and frees both a > scatterlist and the pages that populate that scatterlist. > Introduce functions in lib/scatterlist.c that perform these tasks > instead of duplicating this functionality in multiple d

Re: [PATCH v2 0/2] change allow_restart, manage_start_stop to bool in sysfs

2017-10-16 Thread Martin K. Petersen
weiping, > weiping zhang (2): > scsi: sd: change allow_restart to bool in sysfs interface > scsi: sd: change manage_start_stop to bool in sysfs interface Applied to 4.15/scsi-queue. Thank you! -- Martin K. Petersen Oracle Linux Engineering

Re: [PATCH 0/2] block/SCSI MQ: two RESTART related patches

2017-10-16 Thread Ming Lei
On Tue, Oct 17, 2017 at 01:04:16PM +0800, Ming Lei wrote: > Hi Jens, > > The 1st patch runs idle hctx after dealy in scsi_mq_get_budget(), > so that we can keep same behaviour with before, and it can be > thought as a fix. > > The 2nd patch cleans up RESTART, and removes handling for TAG_SHARED >

Re: [PATCHv6 0/5] scsi: Fixup blacklist handling

2017-10-16 Thread Martin K. Petersen
Hannes, > The SCSI blacklist handling seems to be rather tricky issue; everytime > a fix is included it tends to break other devices. This patchset > attempt to simplify the devlist handling yet again, but this time > implementing the framework for regression testing, too. A patch > adding a re

[PATCH 1/2] SCSI: run idle hctx after delay in scsi_mq_get_budget()

2017-10-16 Thread Ming Lei
If there isn't any outstanding request in this queue, both blk-mq's RESTART and SCSI's builtin RESTART can't work, so we have to deal with this case by running this queue after delay. Fixes: d04b6d97d0a1(scsi: implement .get_budget and .put_budget for blk-mq) Signed-off-by: Ming Lei --- drivers/

[PATCH 0/2] block/SCSI MQ: two RESTART related patches

2017-10-16 Thread Ming Lei
Hi Jens, The 1st patch runs idle hctx after dealy in scsi_mq_get_budget(), so that we can keep same behaviour with before, and it can be thought as a fix. The 2nd patch cleans up RESTART, and removes handling for TAG_SHARED from current blk-mq's RESTART mechanism because SCSI_MQ can covers its re

[PATCH 2/2] blk-mq: don't handle TAG_SHARED in restart

2017-10-16 Thread Ming Lei
Now restart is used in the following cases, and TAG_SHARED is for SCSI only. 1) .get_budget() returns BLK_STS_RESOURCE - if resource in target/host level isn't satistifed, this SCSI device will be added in shost->starved_list, and the whole queue will be rerun (via SCSI's built-in RESTART) in scsi

Re: [PATCH v9 09/10] block, scsi: Make SCSI quiesce and resume work reliably

2017-10-16 Thread Martin K. Petersen
Bart, > The contexts from which a SCSI device can be quiesced or resumed are: > * Writing into /sys/class/scsi_device/*/device/state. > * SCSI parallel (SPI) domain validation. > * The SCSI device power management methods. See also scsi_bus_pm_ops. The SCSI bits look fine to me. Acked-by: Marti

Re: [PATCH v9 07/10] ide, scsi: Tell the block layer at request allocation time about preempt requests

2017-10-16 Thread Martin K. Petersen
Bart, > Convert blk_get_request(q, op, __GFP_RECLAIM) into > blk_get_request_flags(q, op, BLK_MQ_PREEMPT). This patch does not > change any functionality. Acked-by: Martin K. Petersen -- Martin K. Petersen Oracle Linux Engineering

Re: [PATCH] scsi: aic94xx: Convert timers to use timer_setup()

2017-10-16 Thread Martin K. Petersen
Kees, > In preparation for unconditionally passing the struct timer_list > pointer to all timer callbacks, switch to using the new timer_setup() > and from_timer() to pass the timer pointer explicitly. Reviewed-by: Martin K. Petersen -- Martin K. Petersen Oracle Linux Engineering

Re: [PATCH] scsi: gdth: Convert timers to use timer_setup()

2017-10-16 Thread Martin K. Petersen
Kees, > In preparation for unconditionally passing the struct timer_list > pointer to all timer callbacks, switch to using the new timer_setup() > and from_timer() to pass the timer pointer explicitly. Reviewed-by: Martin K. Petersen -- Martin K. Petersen Oracle Linux Engineering

Re: [PATCH] scsi: dc395x: Convert timers to use timer_setup()

2017-10-16 Thread Martin K. Petersen
Kees, > In preparation for unconditionally passing the struct timer_list > pointer to all timer callbacks, switch to using the new timer_setup() > and from_timer() to pass the timer pointer explicitly. Reviewed-by: Martin K. Petersen -- Martin K. Petersen Oracle Linux Engineering

Re: [PATCH] scsi: smartpqi: Convert timers to use timer_setup()

2017-10-16 Thread Martin K. Petersen
Kees, > In preparation for unconditionally passing the struct timer_list > pointer to all timer callbacks, switch to using the new timer_setup() > and from_timer() to pass the timer pointer explicitly. Reviewed-by: Martin K. Petersen -- Martin K. Petersen Oracle Linux Engineering

Re: [PATCH] scsi: libiscsi: Convert timers to use timer_setup()

2017-10-16 Thread Martin K. Petersen
Kees, > In preparation for unconditionally passing the struct timer_list > pointer to all timer callbacks, switch to using the new timer_setup() > and from_timer() to pass the timer pointer explicitly. Reviewed-by: Martin K. Petersen -- Martin K. Petersen Oracle Linux Engineering

Re: [PATCH] scsi: be2iscsi: Convert timers to use timer_setup()

2017-10-16 Thread Martin K. Petersen
Kees, > In preparation for unconditionally passing the struct timer_list > pointer to all timer callbacks, switch to using the new timer_setup() > and from_timer() to pass the timer pointer explicitly. Reviewed-by: Martin K. Petersen -- Martin K. Petersen Oracle Linux Engineering

Re: [PATCH] scsi/bnx2i: Convert timers to use timer_setup()

2017-10-16 Thread Martin K. Petersen
Kees, > In preparation for unconditionally passing the struct timer_list > pointer to all timer callbacks, switch to using the new timer_setup() > and from_timer() to pass the timer pointer explicitly. Reviewed-by: Martin K. Petersen -- Martin K. Petersen Oracle Linux Engineering

Re: [PATCH] scsi: libfc: Convert timers to use timer_setup()

2017-10-16 Thread Martin K. Petersen
Kees, > In preparation for unconditionally passing the struct timer_list > pointer to all timer callbacks, switch to using the new timer_setup() > and from_timer() to pass the timer pointer explicitly. This removes > several redundant setup calls in favor of just changing the timer > function dir

Re: [PATCH 0/5] ZBC support clenaup and fixes

2017-10-16 Thread Martin K. Petersen
Damien, > First part of the "scsi-mq support for ZBC disks" series that is only > scsi specific. These patches are just cleanups with only one bug fix > (last pacth) and do not functionally change anything. > > The remaining rework of the zone locking including scsi-mq support is > still ongoing

Re: [RFC] bsg-lib interface cleanup

2017-10-16 Thread Martin K. Petersen
Christoph, > this series cleans up various abuses of the bsg interfaces, and then > splits bsg for SCSI passthrough from bsg for arbitrary transport > passthrough. This removes the scsi_request abuse in bsg-lib that is > very confusing, and also makes sure we can sanity check the requests > we g

Re: [PATCH] scsi: qedi: Delete redundant variables

2017-10-16 Thread Martin K. Petersen
Christos, > Remove redundant variables in quedi_fw.c that are set but not used. Applied to 4.15/scsi-queue. -- Martin K. Petersen Oracle Linux Engineering

Re: [PATCH] aacraid: Fix controller initialization failure

2017-10-16 Thread Martin K. Petersen
Raghava, > This is a fix to an issue where the driver sends its periodic WELLNESS > command to the controller after the driver shut it down.This causes > the controller to crash. The window where this can happen is small, > but it can be hit at around 4 hours of constant resets. Applied to 4.14/

Re: [PATCH] csi: hpsa: Fix configured_logical_drive_count·check

2017-10-16 Thread Martin K. Petersen
Christos, > Check whether configured_logical_drive_count is less than > 255. Previous check was always evaluating to true as this variable is > defined as u8. Applied to 4.14/scsi-fixes. Thank you! -- Martin K. Petersen Oracle Linux Engineering

Re: [PATCH 1/1] qla2xxx: Initialize Work element before requesting IRQs

2017-10-16 Thread Martin K. Petersen
Himanshu, > commit a9e170e28636 ("scsi: qla2xxx: Fix uninitialized work element") > moved initialziation of work element earlier in the probe to fix call > stack. However, it still leaves a window where interrupt can be > generated before work element is initialized. Fix that window by > Initiali

Re: [PATCH 0/2] qla2xxx: Couple bug fixes for FC-NVMe

2017-10-16 Thread Martin K. Petersen
Himanshu, > This series has couple bug fixes for FC-NVMe code path. Please apply > them to 4.15/scsi-queue at your earliest convenience. Applied to 4.15/scsi-queue. PS. You send email as "Madhani, Madhani". -- Martin K. Petersen Oracle Linux Engineering

Re: [PATCH v2 0/5] qla2xxx: Patches for scsi-misc

2017-10-16 Thread Martin K. Petersen
Madhani, > This series adds support for INTx mode for qla2xxx driver. Also, adds > support for N2N login for FC-NVMe. > > Please apply to 4.15/scsi-queue at your earliest convenience. Several of the patches had bad whitespace. Please run checkpatch before submitting. Also, you did not apply the

Re: [PATCH] zfcp: fix erp_action use-before-initialize in REC action trace

2017-10-16 Thread Martin K. Petersen
Steffen, > v4.10 commit 6f2ce1c6af37 ("scsi: zfcp: fix rport unblock race with LUN > recovery") extended accessing parent pointer fields of > struct zfcp_erp_action for tracing. Applied to 4.14/scsi-fixes. Thank you! -- Martin K. Petersen Oracle Linux Engineering

Re: [PATCH] scsi: lpfc: Fix a precedence bug in lpfc_nvme_io_cmd_wqe_cmpl()

2017-10-16 Thread Martin K. Petersen
Dan, > The ! has higher precedence than the & operation. I've added > parenthesis so this works as intended. Applied to 4.15/scsi-queue. Thanks! -- Martin K. Petersen Oracle Linux Engineering

Re: [PATCH] scsi: aic7xxx: make a couple of functions static

2017-10-16 Thread Martin K. Petersen
Colin, > Functions ahc_devlimited_syncrate and ahc_linux_initialize_scsi_bus > are declared static in their prototypes but are missing in their > definitions, so add the missing static. Applied to 4.15/scsi-queue. Thanks! -- Martin K. Petersen Oracle Linux Engineering

Re: [PATCH] scsi: nsp32: fix logic bug in error handling

2017-10-16 Thread Martin K. Petersen
Masanori, >> gcc-8 points out a logic error that has existed since the start >> of the git history: >> >> drivers/scsi/nsp32.c: In function 'nsp32_selection_autoscsi': >> drivers/scsi/nsp32.c:607:27: error: bitwise comparison always evaluates to >> false [-Werror=tautological-compare] >> if(((

Re: [PATCH] [SCSI] bfa: integer overflow in debugfs

2017-10-16 Thread Martin K. Petersen
Dan, > We could allocate less memory than intended because we do: > > bfad->regdata = kzalloc(len << 2, GFP_KERNEL); > > The shift can overflow leading to a crash. This is debugfs code so the > impact is very small. I fixed the network version of this in March with > commit 13e2d5187f6b (

Re: [PATCH V7 4/6] blk-mq: introduce .get_budget and .put_budget in blk_mq_ops

2017-10-16 Thread Ming Lei
On Mon, Oct 16, 2017 at 01:30:09PM +0200, Hannes Reinecke wrote: > On 10/13/2017 07:29 PM, Ming Lei wrote: > > On Fri, Oct 13, 2017 at 05:08:52PM +, Bart Van Assche wrote: > >> On Sat, 2017-10-14 at 00:45 +0800, Ming Lei wrote: > >>> On Fri, Oct 13, 2017 at 04:31:04PM +, Bart Van Assche wro

Re: [PATCH v9 09/10] block, scsi: Make SCSI quiesce and resume work reliably

2017-10-16 Thread Ming Lei
On Mon, Oct 16, 2017 at 04:29:04PM -0700, Bart Van Assche wrote: > The contexts from which a SCSI device can be quiesced or resumed are: > * Writing into /sys/class/scsi_device/*/device/state. > * SCSI parallel (SPI) domain validation. > * The SCSI device power management methods. See also scsi_bus

[PATCH] aacraid: Fix controller initialization failure

2017-10-16 Thread Raghava Aditya Renukunta
This is a fix to an issue where the driver sends its periodic WELLNESS command to the controller after the driver shut it down.This causes the controller to crash. The window where this can happen is small, but it can be hit at around 4 hours of constant resets. Cc: Fixes: fbd185986eba (aacraid:

Re: [PATCH v2 09/15] ACPI: configfs: make config_item_type const

2017-10-16 Thread Rafael J. Wysocki
On Monday, October 16, 2017 5:18:48 PM CEST Bhumika Goyal wrote: > Make these structures const as they are either passed to the functions > having the argument as const or stored as a reference in the "ci_type" > const field of a config_item structure. > > Done using Coccienlle. > > Signed-off-by

[PATCH] scsi: libfc: Convert timers to use timer_setup()

2017-10-16 Thread Kees Cook
In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly. This removes several redundant setup calls in favor of just changing the timer function directly. Cc: Johann

[PATCH] scsi/bnx2i: Convert timers to use timer_setup()

2017-10-16 Thread Kees Cook
In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly. There was a seemingly missing call to initialize the timer in one handler, so this was added to remove the o

[PATCH] scsi: be2iscsi: Convert timers to use timer_setup()

2017-10-16 Thread Kees Cook
In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly. Cc: Subbu Seetharaman Cc: Ketan Mukadam Cc: Jitendra Bhivare Cc: "James E.J. Bottomley" Cc: "Martin K. P

[PATCH] scsi: aic94xx: Convert timers to use timer_setup()

2017-10-16 Thread Kees Cook
In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly. Cc: "Martin K. Petersen" Cc: "James E.J. Bottomley" Cc: Tomas Henzl Cc: Quentin Lambert Cc: linux-scsi@v

[PATCH] scsi: libiscsi: Convert timers to use timer_setup()

2017-10-16 Thread Kees Cook
In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly. Cc: Lee Duncan Cc: Chris Leech Cc: "James E.J. Bottomley" Cc: "Martin K. Petersen" Cc: open-is...@google

[PATCH] scsi: gdth: Convert timers to use timer_setup()

2017-10-16 Thread Kees Cook
In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly. Cc: Achim Leubner Cc: "James E.J. Bottomley" Cc: "Martin K. Petersen" Cc: linux-scsi@vger.kernel.org Sign

[PATCH] scsi: smartpqi: Convert timers to use timer_setup()

2017-10-16 Thread Kees Cook
In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly. Cc: "Martin K. Petersen" Cc: Don Brace Cc: "James E.J. Bottomley" Cc: esc.storage...@microsemi.com Cc: li

[PATCH] scsi: dc395x: Convert timers to use timer_setup()

2017-10-16 Thread Kees Cook
In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly. Cc: Oliver Neukum Cc: Ali Akcaagac Cc: Jamie Lenehan Cc: "James E.J. Bottomley" Cc: "Martin K. Petersen"

[PATCH v9 06/10] block: Introduce BLK_MQ_REQ_PREEMPT

2017-10-16 Thread Bart Van Assche
Set RQF_PREEMPT if BLK_MQ_REQ_PREEMPT is passed to blk_get_request_flags(). Signed-off-by: Bart Van Assche Tested-by: Martin Steigerwald Cc: Christoph Hellwig Cc: Ming Lei Cc: Hannes Reinecke Cc: Johannes Thumshirn --- block/blk-core.c | 4 +++- block/blk-mq.c | 2 ++ include/

[PATCH v9 03/10] md: Neither resync nor reshape while the system is frozen

2017-10-16 Thread Bart Van Assche
Some people use the md driver on laptops and use the suspend and resume functionality. Since it is essential that submitting of new I/O requests stops before a hibernation image is created, interrupt the md resync and reshape actions if the system is being frozen. Note: the resync and reshape will

[PATCH v9 08/10] block: Add the QUEUE_FLAG_PREEMPT_ONLY request queue flag

2017-10-16 Thread Bart Van Assche
This flag will be used in the next patch to let the block layer core know whether or not a SCSI request queue has been quiesced. A quiesced SCSI queue namely only processes RQF_PREEMPT requests. Signed-off-by: Bart Van Assche Tested-by: Martin Steigerwald Cc: Ming Lei Cc: Christoph Hellwig Cc:

[PATCH v9 01/10] md: Rename md_notifier into md_reboot_notifier

2017-10-16 Thread Bart Van Assche
This avoids confusion with the pm notifier that will be added through a later patch. Signed-off-by: Bart Van Assche Reviewed-by: Johannes Thumshirn Reviewed-by: Shaohua Li Tested-by: Martin Steigerwald Cc: linux-r...@vger.kernel.org Cc: Ming Lei Cc: Christoph Hellwig Cc: Hannes Reinecke ---

[PATCH v9 07/10] ide, scsi: Tell the block layer at request allocation time about preempt requests

2017-10-16 Thread Bart Van Assche
Convert blk_get_request(q, op, __GFP_RECLAIM) into blk_get_request_flags(q, op, BLK_MQ_PREEMPT). This patch does not change any functionality. Signed-off-by: Bart Van Assche Tested-by: Martin Steigerwald Acked-by: David S. Miller [ for IDE ] Cc: Martin K. Petersen Cc: Ming Lei Cc: Christoph H

[PATCH v9 05/10] block: Introduce blk_get_request_flags()

2017-10-16 Thread Bart Van Assche
A side effect of this patch is that the GFP mask that is passed to several allocation functions in the legacy block layer is changed from GFP_KERNEL into __GFP_DIRECT_RECLAIM. Signed-off-by: Bart Van Assche Tested-by: Martin Steigerwald Cc: Christoph Hellwig Cc: Ming Lei Cc: Hannes Reinecke C

[PATCH v9 00/10] block, scsi, md: Improve suspend and resume

2017-10-16 Thread Bart Van Assche
Hello Jens, It is known that during the resume following a hibernate, especially when using an md RAID1 array created on top of SCSI devices, sometimes the system hangs instead of coming up properly. This patch series fixes that problem. These patches have been tested on top of the block layer for

[PATCH v9 09/10] block, scsi: Make SCSI quiesce and resume work reliably

2017-10-16 Thread Bart Van Assche
The contexts from which a SCSI device can be quiesced or resumed are: * Writing into /sys/class/scsi_device/*/device/state. * SCSI parallel (SPI) domain validation. * The SCSI device power management methods. See also scsi_bus_pm_ops. It is essential during suspend and resume that neither the file

[PATCH v9 04/10] block: Make q_usage_counter also track legacy requests

2017-10-16 Thread Bart Van Assche
From: Ming Lei This patch makes it possible to pause request allocation for the legacy block layer by calling blk_mq_freeze_queue() and blk_mq_unfreeze_queue(). Signed-off-by: Ming Lei [ bvanassche: Combined two patches into one, edited a comment and made sure REQ_NOWAIT is handled properly i

[PATCH v9 02/10] md: Introduce md_stop_all_writes()

2017-10-16 Thread Bart Van Assche
Introduce md_stop_all_writes() because the next patch will add a second caller for this function. This patch does not change any functionality. Signed-off-by: Bart Van Assche Reviewed-by: Johannes Thumshirn Reviewed-by: Shaohua Li Tested-by: Martin Steigerwald Cc: linux-r...@vger.kernel.org Cc

[PATCH v9 10/10] block, nvme: Introduce blk_mq_req_flags_t

2017-10-16 Thread Bart Van Assche
Several block layer and NVMe core functions accept a combination of BLK_MQ_REQ_* flags through the 'flags' argument but there is no verification at compile time whether the right type of block layer flags is passed. Make it possible for sparse to verify this. This patch does not change any function

[PATCH v2 0/8] Introduce sgl_alloc() and sgl_free()

2017-10-16 Thread Bart Van Assche
Hello Jens, As you know there are multiple drivers that both allocate a scatter/gather list and populate that list with pages. This patch series moves the code for allocating and freeing such scatterlists from these drivers into lib/scatterlist.c. Please consider this patch series for kernel v4.15

[PATCH v2 7/8] scsi/pmcraid: Remove an unused structure member

2017-10-16 Thread Bart Van Assche
Signed-off-by: Bart Van Assche Reviewed-by: Johannes Thumshirn Cc: linux-scsi@vger.kernel.org Cc: Martin K. Petersen Cc: Anil Ravindranath --- drivers/scsi/pmcraid.h | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/scsi/pmcraid.h b/drivers/scsi/pmcraid.h index 8bfac72a242b..44da91712

[PATCH v2 3/8] nvmet/fc: Use sgl_alloc() and sgl_free()

2017-10-16 Thread Bart Van Assche
Use the sgl_alloc() and sgl_free() functions instead of open coding these functions. Signed-off-by: Bart Van Assche Reviewed-by: Johannes Thumshirn Cc: Keith Busch Cc: Christoph Hellwig Cc: James Smart Cc: Sagi Grimberg --- drivers/nvme/target/Kconfig | 1 + drivers/nvme/target/fc.c| 3

[PATCH v2 5/8] target: Use sgl_alloc_order() and sgl_free()

2017-10-16 Thread Bart Van Assche
Use the sgl_alloc_order() and sgl_free() functions instead of open coding these functions. Signed-off-by: Bart Van Assche Cc: Nicholas A. Bellinger Cc: Christoph Hellwig Cc: Hannes Reinecke Cc: Sagi Grimberg --- drivers/target/Kconfig | 1 + drivers/target/target_core_transp

[PATCH v2 2/8] crypto: scompress - use sgl_alloc() and sgl_free()

2017-10-16 Thread Bart Van Assche
Use the sgl_alloc() and sgl_free() functions instead of open coding these functions. Signed-off-by: Bart Van Assche Cc: Ard Biesheuvel Cc: Herbert Xu --- crypto/Kconfig | 1 + crypto/scompress.c | 51 ++- 2 files changed, 3 insertions(+), 49

[PATCH v2 4/8] nvmet/rdma: Use sgl_alloc() and sgl_free()

2017-10-16 Thread Bart Van Assche
Use the sgl_alloc() and sgl_free() functions instead of open coding these functions. Signed-off-by: Bart Van Assche Reviewed-by: Johannes Thumshirn Cc: Keith Busch Cc: Christoph Hellwig Cc: Sagi Grimberg --- drivers/nvme/target/Kconfig | 1 + drivers/nvme/target/rdma.c | 63 +++

[PATCH v2 6/8] scsi/ipr: Use sgl_alloc_order() and sgl_free_order()

2017-10-16 Thread Bart Van Assche
Use the sgl_alloc_order() and sgl_free_order() functions instead of open coding these functions. Signed-off-by: Bart Van Assche Reviewed-by: Johannes Thumshirn Cc: linux-scsi@vger.kernel.org Cc: Martin K. Petersen Cc: Brian King --- drivers/scsi/Kconfig | 1 + drivers/scsi/ipr.c | 49 +

[PATCH v2 1/8] lib/scatterlist: Introduce sgl_alloc() and sgl_free()

2017-10-16 Thread Bart Van Assche
Many kernel drivers contain code that allocates and frees both a scatterlist and the pages that populate that scatterlist. Introduce functions in lib/scatterlist.c that perform these tasks instead of duplicating this functionality in multiple drivers. Only include these functions in the build if CO

[PATCH v2 8/8] scsi/pmcraid: Use sgl_alloc_order() and sgl_free_order()

2017-10-16 Thread Bart Van Assche
Use the sgl_alloc_order() and sgl_free_order() functions instead of open coding these functions. Signed-off-by: Bart Van Assche Reviewed-by: Johannes Thumshirn Cc: linux-scsi@vger.kernel.org Cc: Martin K. Petersen Cc: Anil Ravindranath --- drivers/scsi/Kconfig | 1 + drivers/scsi/pmcraid.c

Re: [PATCH v2] linux/types.h: Restore the ability to disable sparse endianness checks

2017-10-16 Thread Bart Van Assche
On Mon, 2017-10-16 at 22:57 +0300, Michael S. Tsirkin wrote: > On Mon, Oct 16, 2017 at 10:26:33AM -0700, Bart Van Assche wrote: > > I think that this shows that the followed approach does not work, > > probably because several driver authors do not use sparse. For > > developers who are not the aut

Re: system hung up when offlining CPUs

2017-10-16 Thread Thomas Gleixner
Yasuaki, On Mon, 16 Oct 2017, YASUAKI ISHIMATSU wrote: > Hi Thomas, > > > Can you please apply the patch below on top of Linus tree and retest? > > > > Please send me the outputs I asked you to provide last time in any case > > (success or fail). > > The issue still occurs even if I applied you

Re: [PATCH v2] linux/types.h: Restore the ability to disable sparse endianness checks

2017-10-16 Thread Michael S. Tsirkin
On Mon, Oct 16, 2017 at 10:26:33AM -0700, Bart Van Assche wrote: > The purpose of patch "linux/types.h: enable endian checks for all > sparse builds" was to encourage driver authors to annotate > endianness correctly in their drivers. However, since that patch > went upstream no endianness annotati

[PATCH] csi: hpsa: Fix configured_logical_drive_count·check

2017-10-16 Thread Christos Gkekas
Check whether configured_logical_drive_count is less than 255. Previous check was always evaluating to true as this variable is defined as u8. Signed-off-by: Christos Gkekas --- drivers/scsi/hpsa.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/scsi/hpsa.c b/drivers/

Re: [PATCH] scsi: hpsa: simplify hpsa_set_local_logical_count()

2017-10-16 Thread Christos Gkekas
On 16/10/17 18:55:11 +, Don Brace wrote: > > -Original Message- > > From: Christos Gkekas [mailto:chris.ge...@gmail.com] > > Sent: Sunday, October 15, 2017 2:35 PM > > To: Don Brace ; James E.J. Bottomley > > ; Martin K. Petersen > > ; esc.storagedev > > ; linux-scsi@vger.kernel.org; li

Re: system hung up when offlining CPUs

2017-10-16 Thread YASUAKI ISHIMATSU
Hi Thomas, > Can you please apply the patch below on top of Linus tree and retest? > > Please send me the outputs I asked you to provide last time in any case > (success or fail). The issue still occurs even if I applied your patch to linux 4.14.0-rc4. --- [ ...] INFO: task setroubleshootd:4972

Re: [PATCH v2 04/15] iio: make function argument and some structures const

2017-10-16 Thread Jonathan Cameron
On 16 October 2017 16:18:43 BST, Bhumika Goyal wrote: >Make the argument of the functions iio_sw{d/t}_group_init_type_name >const >as they are only passed to the function config_group_init_type_name >having >the argument as const. > >Make the config_item_type structures const as they are either

[PATCH 1/1] qla2xxx: Initialize Work element before requesting IRQs

2017-10-16 Thread Madhani, Himanshu
From: Himanshu Madhani commit a9e170e28636 ("scsi: qla2xxx: Fix uninitialized work element") moved initialziation of work element earlier in the probe to fix call stack. However, it still leaves a window where interrupt can be generated before work element is initialized. Fix that window by Initi

Re: [PATCH v2 06/15] PCI: endpoint: make config_item_type const

2017-10-16 Thread Bjorn Helgaas
On Mon, Oct 16, 2017 at 05:18:45PM +0200, Bhumika Goyal wrote: > Make config_item_type structures const as they are either passed to a > function having the argument as const or stored in the const "ci_type" > field of a config_item structure. > > Done using Coccinelle. > > Signed-off-by: Bhumika

Re: [PATCH] linux/types.h: Restore the ability to disable sparse endianness checks

2017-10-16 Thread Bart Van Assche
On Mon, 2017-10-16 at 19:50 +0300, Michael S. Tsirkin wrote: > Right but qla_nvme also triggers these warnings. That's the problem with > disabling them tree-wide. To me it looks like the time we are spending > arguing about work-arounds would be better spent just fixing the > majority of the code.

[PATCH v2] linux/types.h: Restore the ability to disable sparse endianness checks

2017-10-16 Thread Bart Van Assche
The purpose of patch "linux/types.h: enable endian checks for all sparse builds" was to encourage driver authors to annotate endianness correctly in their drivers. However, since that patch went upstream no endianness annotations in drivers have been fixed. I think that this shows that the followed

Re: [PATCH 1/2] qla2xxx: Use ql2xnvmeenable to enable Q-Pair for FC-NVMe

2017-10-16 Thread Ewan D. Milne
On Fri, 2017-10-13 at 15:43 -0700, Madhani, Madhani wrote: > From: Himanshu Madhani > > In some env, user can choose to not enable SCSI-MQ but wants > to use FC-NVMe feature of the driver. Since driver relies on > Q-Pairs to allocate FC-NVMe resources, use existing module > parameter to create Q-

Re: [PATCH 8/9] block: pass full fmode_t to blk_verify_command

2017-10-16 Thread Benjamin Block
On Tue, Oct 03, 2017 at 12:48:44PM +0200, Christoph Hellwig wrote: > Use the obvious calling convention. > > Signed-off-by: Christoph Hellwig > --- > block/bsg.c| 18 -- > block/scsi_ioctl.c | 8 > drivers/scsi/sg.c | 2 +- > include/linux/blkdev.h

Re: [PATCH] linux/types.h: Restore the ability to disable sparse endianness checks

2017-10-16 Thread Michael S. Tsirkin
On Mon, Oct 16, 2017 at 03:36:50PM +, Bart Van Assche wrote: > On Mon, 2017-10-16 at 18:27 +0300, Michael S. Tsirkin wrote: > > On Mon, Oct 16, 2017 at 01:57:35PM +, Bart Van Assche wrote: > > > On Mon, 2017-10-16 at 16:34 +0300, Michael S. Tsirkin wrote: > > > > I don't see how it'll help

Re: [PATCH 7/9] bsg-lib: remove bsg_job.req

2017-10-16 Thread Benjamin Block
On Tue, Oct 03, 2017 at 12:48:43PM +0200, Christoph Hellwig wrote: > Users of the bsg-lib interface should only use the bsg_job data structure > and not know about implementation details of it. > > Signed-off-by: Christoph Hellwig > --- > block/bsg-lib.c | 14 ++ > include/li

Re: [PATCH 6/9] bsg-lib: introduce a timeout field in struct bsg_job

2017-10-16 Thread Benjamin Block
On Tue, Oct 03, 2017 at 12:48:42PM +0200, Christoph Hellwig wrote: > The zfcp driver wants to know the timeout for a bsg job, so add a field > to struct bsg_job for it in preparation of not exposing the request > to the bsg-lib users. > > Signed-off-by: Christoph Hellwig > --- > block/bsg-lib.c

[PATCH 4.13 41/53] genirq/cpuhotplug: Enforce affinity setting on startup of managed irqs

2017-10-16 Thread Greg Kroah-Hartman
4.13-stable review patch. If anyone has any objections, please let me know. -- From: Thomas Gleixner commit e43b3b58548051f8809391eb7bec7a27ed3003ea upstream. Managed interrupts can end up in a stale state on CPU hotplug. If the interrupt is not targeting a single CPU, i.e. th

Re: [PATCH V7 4/6] blk-mq: introduce .get_budget and .put_budget in blk_mq_ops

2017-10-16 Thread Bart Van Assche
On Mon, 2017-10-16 at 13:30 +0200, Hannes Reinecke wrote: > On Fri, Oct 13, 2017 at 05:08:52PM +, Bart Van Assche wrote: > > (+Himanshu Madhani) > > > > Himanshu, do you perhaps know whether it is safe to increase cmd_per_lun for > > the qla2xxx initiator driver to the scsi_host->can_queue val

Re: [PATCH] linux/types.h: Restore the ability to disable sparse endianness checks

2017-10-16 Thread Bart Van Assche
On Mon, 2017-10-16 at 18:27 +0300, Michael S. Tsirkin wrote: > On Mon, Oct 16, 2017 at 01:57:35PM +, Bart Van Assche wrote: > > On Mon, 2017-10-16 at 16:34 +0300, Michael S. Tsirkin wrote: > > > I don't see how it'll help make things better. OTOH if the specific > > > drivers are tagged in the

Re: [PATCH] linux/types.h: Restore the ability to disable sparse endianness checks

2017-10-16 Thread Michael S. Tsirkin
On Mon, Oct 16, 2017 at 01:57:35PM +, Bart Van Assche wrote: > On Mon, 2017-10-16 at 16:34 +0300, Michael S. Tsirkin wrote: > > I don't see how it'll help make things better. OTOH if the specific > > drivers are tagged in the makefile, they can be gradually moved out to > > staging or something

  1   2   >