Re: [PATCH v2] MAINTAINERS: Mark UFS as Orphan

2019-01-28 Thread Marc Gonzalez
On 22/01/2019 18:39, Joao Pinto wrote: > On 1/22/2019 5:15 PM, Marc Gonzalez wrote: > >> Looking through git log and the linux-scsi archives, it seems that >> Vinayak vanished after 2013. Removing him as a maintainer will make >> get_maintainer.pl generate the list of relevant contributors. >> >>

Re: [PATCH v2] MAINTAINERS: Mark UFS as Orphan

2019-01-28 Thread Joao Pinto
Hi Marc, On 1/28/2019 10:35 AM, Marc Gonzalez wrote: > On 22/01/2019 18:39, Joao Pinto wrote: > >> On 1/22/2019 5:15 PM, Marc Gonzalez wrote: >> >>> Looking through git log and the linux-scsi archives, it seems that >>> Vinayak vanished after 2013. Removing him as a maintainer will make >>> get_ma

[PATCH] MAINTAINERS: Move FCoE to Hannes Reinecke

2019-01-28 Thread Johannes Thumshirn
I'll be moving on to different things in the storage stack and Hannes agreed to take over FCoE. Cc: Hannes Reinecke Signed-off-by: Johannes Thumshirn --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 9f64f8d3740e..49b829794699 10

Re: [PATCH v2] MAINTAINERS: Mark UFS as Orphan

2019-01-28 Thread Alim Akhtar
On 28/01/19 4:05 PM, Marc Gonzalez wrote: > On 22/01/2019 18:39, Joao Pinto wrote: > >> On 1/22/2019 5:15 PM, Marc Gonzalez wrote: >> >>> Looking through git log and the linux-scsi archives, it seems that >>> Vinayak vanished after 2013. Removing him as a maintainer will make >>> get_maintainer

Re: [PATCH] MAINTAINERS: Move FCoE to Hannes Reinecke

2019-01-28 Thread Hannes Reinecke
On 1/28/19 12:06 PM, Johannes Thumshirn wrote: I'll be moving on to different things in the storage stack and Hannes agreed to take over FCoE. Cc: Hannes Reinecke Signed-off-by: Johannes Thumshirn --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINER

[LSF/MM TOPIC] Zoned Block Devices

2019-01-28 Thread Matias Bjorling
Hi, Damien and I would like to propose a couple of topics centering around zoned block devices: 1) Zoned block devices require that writes to a zone are sequential. If the writes are dispatched to the device out of order, the drive rejects the write with a write failure. So far it has been th

Re: [PATCH 1/4] block: disk_events: introduce event flags

2019-01-28 Thread Martin Wilck
On Sat, 2019-01-26 at 11:09 +0100, Hannes Reinecke wrote: > On 1/18/19 10:32 PM, Martin Wilck wrote: > > Currently, an empty disk->events field tells the block layer not to > > forward > > media change events to user space. This was done in commit > > 7c88a168da80 ("block: > > don't propagate unlis

Re: blk-mq private tags for SCSI

2019-01-28 Thread Christoph Hellwig
On Thu, Jan 24, 2019 at 08:52:20AM +0100, Hannes Reinecke wrote: > Hi all, > > blk-mq has the concept of 'private' tags to handle driver-internal commands. > Also quite some SCSI HBAs use internal commands for configuration, event > handling etc. > But sadly no interface to use the 'private' tags

[PATCH v1 1/1] scsi: ufs: Print uic error history in time order

2019-01-28 Thread Stanley Chu
Now uic errors are printed out of time order. Simply make it more readable by printing logs in time order, and printing "No record" if history is empty. Signed-off-by: Stanley Chu --- drivers/scsi/ufs/ufshcd.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/scs

Re: [PATCH] block: set rq->cmd_flags with bio->opf instead of data->cmd_flags when bio is not Null

2019-01-28 Thread Christoph Hellwig
> > for rq->cmd_flags. It will cause dix=0 in function > > sd_setup_read_write_cmnd() when enabled DIX, which will cause IO > > exception when enabled DIX. > > > > For some IOs such as internal IO from SCSI layer, the parameter bio of > > function blk_mq_get_request() is Null, so need to check bio

Re: [LSF/MM TOPIC] blk-mq private tags for SCSI

2019-01-28 Thread Hannes Reinecke
On 1/28/19 3:03 PM, Christoph Hellwig wrote: On Thu, Jan 24, 2019 at 08:52:20AM +0100, Hannes Reinecke wrote: Hi all, blk-mq has the concept of 'private' tags to handle driver-internal commands. Also quite some SCSI HBAs use internal commands for configuration, event handling etc. But sadly no

Re: [LSF/MM TOPIC] blk-mq private tags for SCSI

2019-01-28 Thread Christoph Hellwig
On Mon, Jan 28, 2019 at 03:14:19PM +0100, Hannes Reinecke wrote: > > The most straigthforward approach would be something like > 'blk_mq_get_private_request()' (ie similar to the existing > 'blk_mq_get_request()'). But that requires a working request queue and will > expose a 'struct request', (an

[PATCH] scsi: iscsi: flush running unbind operations when removing a session

2019-01-28 Thread Maurizio Lombardi
In some cases, the iscsi_remove_session() function is called while an unbind_work operation is still running. This may cause a situation where sysfs objects are removed in an incorrect order, triggering a kernel warning. [ 605.249442] [ cut here ] [ 605.259180] sysfs grou

Re: [LSF/MM TOPIC] blk-mq private tags for SCSI

2019-01-28 Thread Hannes Reinecke
On 1/28/19 3:21 PM, Christoph Hellwig wrote: On Mon, Jan 28, 2019 at 03:14:19PM +0100, Hannes Reinecke wrote: The most straigthforward approach would be something like 'blk_mq_get_private_request()' (ie similar to the existing 'blk_mq_get_request()'). But that requires a working request queue a

Re: [LSF/MM TOPIC] Zoned Block Devices

2019-01-28 Thread Bart Van Assche
On 1/28/19 4:56 AM, Matias Bjorling wrote: Damien and I would like to propose a couple of topics centering around zoned block devices: 1) Zoned block devices require that writes to a zone are sequential. If the writes are dispatched to the device out of order, the drive rejects the write with a

Re: [ 1/1] scsi: qcom-ufs: Add support for bus voting using ICB framework

2019-01-28 Thread Georgi Djakov
Hi Asutosh, On 1/25/19 12:27, Asutosh Das (asd) wrote: > On 1/24/2019 5:16 PM, Georgi Djakov wrote: [..]>>> diff --git a/Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt >>> b/Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt >>> index a99ed55..94249ef 100644 >>> --- a/Documentation/d

Re: [PATCH] block: set rq->cmd_flags with bio->opf instead of data->cmd_flags when bio is not Null

2019-01-28 Thread John Garry
On 28/01/2019 14:07, Christoph Hellwig wrote: for rq->cmd_flags. It will cause dix=0 in function sd_setup_read_write_cmnd() when enabled DIX, which will cause IO exception when enabled DIX. For some IOs such as internal IO from SCSI layer, the parameter bio of function blk_mq_get_request() is Nu

Re: [PATCH] block: set rq->cmd_flags with bio->opf instead of data->cmd_flags when bio is not Null

2019-01-28 Thread John Garry
On 28/01/2019 15:57, Christoph Hellwig wrote: On Mon, Jan 28, 2019 at 03:36:58PM +, John Garry wrote: As I understood, the problem is the scenario of calling blk_mq_make_request()->bio_integrity_prep() where we then allocate a bio integrity payload in calling bio_integrity_alloc(). In this

[PATCH AUTOSEL 4.14 009/170] scsi: mpt3sas: Call sas_remove_host before removing the target devices

2019-01-28 Thread Sasha Levin
From: Suganath Prabu [ Upstream commit dc730212e8a378763cb182b889f90c8101331332 ] Call sas_remove_host() before removing the target devices in the driver's .remove() callback function(i.e. during driver unload time). So that driver can provide a way to allow SYNC CACHE, START STOP unit commands

[PATCH AUTOSEL 4.9 006/107] scsi: lpfc: Correct LCB RJT handling

2019-01-28 Thread Sasha Levin
From: James Smart [ Upstream commit b114d9009d386276bfc3352289fc235781ae3353 ] When LCB's are rejected, if beaconing was already in progress, the Reason Code Explanation was not being set. Should have been set to command in progress. Signed-off-by: Dick Kennedy Signed-off-by: James Smart Revi

[PATCH AUTOSEL 4.9 068/107] scsi: smartpqi: correct host serial num for ssa

2019-01-28 Thread Sasha Levin
From: Mahesh Rajashekhara [ Upstream commit b2346b5030cf9458f30a84028d9fe904b8c942a7 ] Reviewed-by: Scott Benesh Reviewed-by: Ajish Koshy Reviewed-by: Murthy Bhat Reviewed-by: Mahesh Rajashekhara Reviewed-by: Dave Carroll Reviewed-by: Scott Teel Reviewed-by: Kevin Barnett Signed-off-by: M

[PATCH AUTOSEL 4.4 05/80] scsi: lpfc: Correct LCB RJT handling

2019-01-28 Thread Sasha Levin
From: James Smart [ Upstream commit b114d9009d386276bfc3352289fc235781ae3353 ] When LCB's are rejected, if beaconing was already in progress, the Reason Code Explanation was not being set. Should have been set to command in progress. Signed-off-by: Dick Kennedy Signed-off-by: James Smart Revi

Re: [LSF/MM TOPIC] blk-mq private tags for SCSI

2019-01-28 Thread Christoph Hellwig
On Mon, Jan 28, 2019 at 03:33:46PM +0100, Hannes Reinecke wrote: > Well ... not always. > Some drivers (eg aacraid or hpsa) use internal commands to query hardware, > handle events and the like. > These commands use the same infrastructure than normal SCSI commands, > and hence need to use the same

[PATCH AUTOSEL 4.9 069/107] scsi: smartpqi: correct volume status

2019-01-28 Thread Sasha Levin
From: Dave Carroll [ Upstream commit 7ff44499bafbd376115f0bb6b578d980f56ee13b ] - fix race condition when a unit is deleted after an RLL, and before we have gotten the LV_STATUS page of the unit. - In this case we will get a standard inquiry, rather than the desired page. This will resu

RE: [PATCH] scsi: hpsa: clean up two indentation issues

2019-01-28 Thread Don.Brace
-Original Message- From: linux-scsi-ow...@vger.kernel.org [mailto:linux-scsi-ow...@vger.kernel.org] On Behalf Of Colin King Sent: Tuesday, January 22, 2019 9:19 AM To: Don Brace ; James E . J . Bottomley ; Martin K . Petersen ; esc.storage...@microsemi.com; linux-scsi@vger.kernel.org Cc

Re: [PATCH v4] scsi/ata: Use unsigned int for cmd's type in ioctls in scsi_host_template

2019-01-28 Thread Nathan Chancellor
On Mon, Jan 28, 2019 at 04:16:34PM +, don.br...@microchip.com wrote: > > Clang warns several times in the scsi subsystem (trimmed for brevity): > > drivers/scsi/hpsa.c:6209:7: warning: overflow converting case value to switch > condition type (2147762695 to 18446744071562347015) [-Wswitch] >

[PATCH AUTOSEL 4.14 120/170] scsi: smartpqi: increase fw status register read timeout

2019-01-28 Thread Sasha Levin
From: Mahesh Rajashekhara [ Upstream commit 65111785acccb836ec75263b03b0e33f21e74f47 ] Problem: - during the driver initialization, driver will poll fw for KERNEL_UP in a 30 seconds timeout. - if the firmware is not ready after 30 seconds, driver will not be loaded. Fix: - change time

[PATCH AUTOSEL 4.14 118/170] scsi: smartpqi: correct host serial num for ssa

2019-01-28 Thread Sasha Levin
From: Mahesh Rajashekhara [ Upstream commit b2346b5030cf9458f30a84028d9fe904b8c942a7 ] Reviewed-by: Scott Benesh Reviewed-by: Ajish Koshy Reviewed-by: Murthy Bhat Reviewed-by: Mahesh Rajashekhara Reviewed-by: Dave Carroll Reviewed-by: Scott Teel Reviewed-by: Kevin Barnett Signed-off-by: M

[PATCH AUTOSEL 4.14 119/170] scsi: smartpqi: correct volume status

2019-01-28 Thread Sasha Levin
From: Dave Carroll [ Upstream commit 7ff44499bafbd376115f0bb6b578d980f56ee13b ] - fix race condition when a unit is deleted after an RLL, and before we have gotten the LV_STATUS page of the unit. - In this case we will get a standard inquiry, rather than the desired page. This will resu

RE: [PATCH v4] scsi/ata: Use unsigned int for cmd's type in ioctls in scsi_host_template

2019-01-28 Thread Don.Brace
Clang warns several times in the scsi subsystem (trimmed for brevity): drivers/scsi/hpsa.c:6209:7: warning: overflow converting case value to switch condition type (2147762695 to 18446744071562347015) [-Wswitch] case CCISS_GETBUSTYPES: ^ drivers/scsi/hpsa.c:6208:7: warning:

[PATCH AUTOSEL 4.14 008/170] scsi: lpfc: Correct LCB RJT handling

2019-01-28 Thread Sasha Levin
From: James Smart [ Upstream commit b114d9009d386276bfc3352289fc235781ae3353 ] When LCB's are rejected, if beaconing was already in progress, the Reason Code Explanation was not being set. Should have been set to command in progress. Signed-off-by: Dick Kennedy Signed-off-by: James Smart Revi

[PATCH AUTOSEL 4.14 010/170] scsi: lpfc: Fix LOGO/PLOGI handling when triggerd by ABTS Timeout event

2019-01-28 Thread Sasha Levin
From: James Smart [ Upstream commit 30e196cacefdd9a38c857caed23cefc9621bc5c1 ] After a LOGO in response to an ABTS timeout, a PLOGI wasn't issued to re-establish the login. An nlp_type check in the LOGO completion handler failed to restart discovery for NVME targets. Revised the nlp_type check

[PATCH AUTOSEL 4.19 191/258] scsi: smartpqi: correct volume status

2019-01-28 Thread Sasha Levin
From: Dave Carroll [ Upstream commit 7ff44499bafbd376115f0bb6b578d980f56ee13b ] - fix race condition when a unit is deleted after an RLL, and before we have gotten the LV_STATUS page of the unit. - In this case we will get a standard inquiry, rather than the desired page. This will resu

[PATCH AUTOSEL 4.19 192/258] scsi: smartpqi: increase fw status register read timeout

2019-01-28 Thread Sasha Levin
From: Mahesh Rajashekhara [ Upstream commit 65111785acccb836ec75263b03b0e33f21e74f47 ] Problem: - during the driver initialization, driver will poll fw for KERNEL_UP in a 30 seconds timeout. - if the firmware is not ready after 30 seconds, driver will not be loaded. Fix: - change time

[PATCH AUTOSEL 4.19 190/258] scsi: smartpqi: correct host serial num for ssa

2019-01-28 Thread Sasha Levin
From: Mahesh Rajashekhara [ Upstream commit b2346b5030cf9458f30a84028d9fe904b8c942a7 ] Reviewed-by: Scott Benesh Reviewed-by: Ajish Koshy Reviewed-by: Murthy Bhat Reviewed-by: Mahesh Rajashekhara Reviewed-by: Dave Carroll Reviewed-by: Scott Teel Reviewed-by: Kevin Barnett Signed-off-by: M

[PATCH AUTOSEL 4.19 043/258] scsi: hisi_sas: change the time of SAS SSP connection

2019-01-28 Thread Sasha Levin
From: Xiang Chen [ Upstream commit 15bc43f31a074076f114e0b87931e3b220b7bff1 ] Currently the time of SAS SSP connection is 1ms, which means the link connection will fail if no IO response after this period. For some disks handling large IO (such as 512k), 1ms is not enough, so change it to 5ms.

[PATCH AUTOSEL 4.19 017/258] scsi: lpfc: Fix LOGO/PLOGI handling when triggerd by ABTS Timeout event

2019-01-28 Thread Sasha Levin
From: James Smart [ Upstream commit 30e196cacefdd9a38c857caed23cefc9621bc5c1 ] After a LOGO in response to an ABTS timeout, a PLOGI wasn't issued to re-establish the login. An nlp_type check in the LOGO completion handler failed to restart discovery for NVME targets. Revised the nlp_type check

[PATCH AUTOSEL 4.19 016/258] scsi: mpt3sas: Call sas_remove_host before removing the target devices

2019-01-28 Thread Sasha Levin
From: Suganath Prabu [ Upstream commit dc730212e8a378763cb182b889f90c8101331332 ] Call sas_remove_host() before removing the target devices in the driver's .remove() callback function(i.e. during driver unload time). So that driver can provide a way to allow SYNC CACHE, START STOP unit commands

[PATCH AUTOSEL 4.19 015/258] scsi: lpfc: Correct LCB RJT handling

2019-01-28 Thread Sasha Levin
From: James Smart [ Upstream commit b114d9009d386276bfc3352289fc235781ae3353 ] When LCB's are rejected, if beaconing was already in progress, the Reason Code Explanation was not being set. Should have been set to command in progress. Signed-off-by: Dick Kennedy Signed-off-by: James Smart Revi

Re: [PATCH] block: set rq->cmd_flags with bio->opf instead of data->cmd_flags when bio is not Null

2019-01-28 Thread Christoph Hellwig
On Mon, Jan 28, 2019 at 03:36:58PM +, John Garry wrote: > As I understood, the problem is the scenario of calling > blk_mq_make_request()->bio_integrity_prep() where we then allocate a bio > integrity payload in calling bio_integrity_alloc(). > > In this case, bio_integrity_alloc() sets bio->b

[PATCH AUTOSEL 4.20 228/304] scsi: smartpqi: increase fw status register read timeout

2019-01-28 Thread Sasha Levin
From: Mahesh Rajashekhara [ Upstream commit 65111785acccb836ec75263b03b0e33f21e74f47 ] Problem: - during the driver initialization, driver will poll fw for KERNEL_UP in a 30 seconds timeout. - if the firmware is not ready after 30 seconds, driver will not be loaded. Fix: - change time

[PATCH AUTOSEL 4.20 227/304] scsi: smartpqi: correct volume status

2019-01-28 Thread Sasha Levin
From: Dave Carroll [ Upstream commit 7ff44499bafbd376115f0bb6b578d980f56ee13b ] - fix race condition when a unit is deleted after an RLL, and before we have gotten the LV_STATUS page of the unit. - In this case we will get a standard inquiry, rather than the desired page. This will resu

[PATCH AUTOSEL 4.20 226/304] scsi: smartpqi: correct host serial num for ssa

2019-01-28 Thread Sasha Levin
From: Mahesh Rajashekhara [ Upstream commit b2346b5030cf9458f30a84028d9fe904b8c942a7 ] Reviewed-by: Scott Benesh Reviewed-by: Ajish Koshy Reviewed-by: Murthy Bhat Reviewed-by: Mahesh Rajashekhara Reviewed-by: Dave Carroll Reviewed-by: Scott Teel Reviewed-by: Kevin Barnett Signed-off-by: M

[PATCH AUTOSEL 4.20 061/304] scsi: cxgb4i: fix thermal configuration dependencies

2019-01-28 Thread Sasha Levin
From: Arnd Bergmann [ Upstream commit 8d0bb86e2cf6c96d88c3de56a2a29329872c454d ] I fixed a bug by adding a dependency in the network driver, but that fix caused a related bug in the SCSI driver: WARNING: unmet direct dependencies detected for CHELSIO_T4 Depends on [m]: NETDEVICES [=y] && ETHE

[PATCH AUTOSEL 4.20 050/304] scsi: hisi_sas: change the time of SAS SSP connection

2019-01-28 Thread Sasha Levin
From: Xiang Chen [ Upstream commit 15bc43f31a074076f114e0b87931e3b220b7bff1 ] Currently the time of SAS SSP connection is 1ms, which means the link connection will fail if no IO response after this period. For some disks handling large IO (such as 512k), 1ms is not enough, so change it to 5ms.

[PATCH AUTOSEL 4.20 019/304] scsi: lpfc: Correct LCB RJT handling

2019-01-28 Thread Sasha Levin
From: James Smart [ Upstream commit b114d9009d386276bfc3352289fc235781ae3353 ] When LCB's are rejected, if beaconing was already in progress, the Reason Code Explanation was not being set. Should have been set to command in progress. Signed-off-by: Dick Kennedy Signed-off-by: James Smart Revi

[PATCH AUTOSEL 4.20 021/304] scsi: lpfc: Fix LOGO/PLOGI handling when triggerd by ABTS Timeout event

2019-01-28 Thread Sasha Levin
From: James Smart [ Upstream commit 30e196cacefdd9a38c857caed23cefc9621bc5c1 ] After a LOGO in response to an ABTS timeout, a PLOGI wasn't issued to re-establish the login. An nlp_type check in the LOGO completion handler failed to restart discovery for NVME targets. Revised the nlp_type check

[PATCH AUTOSEL 4.20 020/304] scsi: mpt3sas: Call sas_remove_host before removing the target devices

2019-01-28 Thread Sasha Levin
From: Suganath Prabu [ Upstream commit dc730212e8a378763cb182b889f90c8101331332 ] Call sas_remove_host() before removing the target devices in the driver's .remove() callback function(i.e. during driver unload time). So that driver can provide a way to allow SYNC CACHE, START STOP unit commands

Re: [LSF/MM TOPIC] Zoned Block Devices

2019-01-28 Thread Matias Bjorling
On 1/28/19 4:07 PM, Bart Van Assche wrote: > On 1/28/19 4:56 AM, Matias Bjorling wrote: >> Damien and I would like to propose a couple of topics centering around >> zoned block devices: >> >> 1) Zoned block devices require that writes to a zone are sequential. If >> the writes are dispatched to the

Re: [PATCH v4 3/3] scsi: ufs-bsg: Allow reading descriptors

2019-01-28 Thread Evan Green
On Sat, Jan 26, 2019 at 11:08 PM Avri Altman wrote: > > Add this functionality, placing the descriptor being read in the actual > data buffer in the bio. > > That is, for both read and write descriptors query upiu, we are using > the job's request_payload. This in turn, is mapped back in user lan

Re: [PATCH v3 11/26] lpfc: Synchronize hardware queues with SCSI MQ interface

2019-01-28 Thread James Smart
On 1/26/2019 1:16 AM, Hannes Reinecke wrote: +    } else +    shost->nr_hw_queues = 1;   /*    * Set initial can_queue value since 0 is no longer supported and Why do you restrict full mq support to SLE-4? The original code seems to imply that older revisions would be able to do mq

Re: [PATCH v3 21/26] lpfc: Rework locking on SCSI io completion

2019-01-28 Thread James Smart
On 1/26/2019 1:43 AM, Hannes Reinecke wrote: Hmm. Wouldn't it be better here to set lpfc_ncmd->nvmeCmd to NULL first, then release the lock, and _then_ call nCmd->done()? With the current code there might be a risk of accidental command starvation, as ->done() is called before the command itself

[PATCH v4 00/26] lpfc updates for 12.2.0.0

2019-01-28 Thread James Smart
Update lpfc to revision 12.2.0.0 This first 22 patches in this patch set are a rework of the I/O submission path in the driver to focus on cpu affinity. This work raises the performance of the lpfc driver from a level of 1-2M iops per port to numbers that have reached over 5M per port. The modific

[PATCH v4 02/26] lpfc: cleanup: Remove excess check on NVME io submit code path

2019-01-28 Thread James Smart
lpfc_nvme_prep_io_cmd() checks for null pnode, but caller lpfc_nvme_fcp_io_submit() has already ensured it's non-null. remove the pnode null check Signed-off-by: Dick Kennedy Signed-off-by: James Smart Reviewed-by: Hannes Reinecke --- drivers/scsi/lpfc/lpfc_nvme.c | 2 +- 1 file changed, 1 in

[PATCH v4 25/26] lpfc: Update 12.2.0.0 file copyrights to 2019

2019-01-28 Thread James Smart
For files modifed as part of 12.2.0.0 patches, update copyright to 2019 Signed-off-by: Dick Kennedy Signed-off-by: James Smart Reviewed-by: Hannes Reinecke --- drivers/scsi/lpfc/lpfc.h | 2 +- drivers/scsi/lpfc/lpfc_attr.c | 2 +- drivers/scsi/lpfc/lpfc_crtn.h | 2 +- drive

[PATCH v4 01/26] lpfc: cleanup: remove nrport from nvme command structure

2019-01-28 Thread James Smart
An hba-wide lock is taken in the nvme io completion routine. The lock covers null'ing of the nrport pointer in the cmd structure. The nrport member isn't necessary. After extracting the pointer from the command, the pointer was dereferenced to get the fc discovery node pointer. But the fc discover

[PATCH v4 14/26] lpfc: Fix setting affinity hints to correlate with hardware queues

2019-01-28 Thread James Smart
The desired affinity for the hardware queue behavior is for hdwq 0 to be affinitized with cpu 0, hdwq 1 to cpu 1, and so on. The implementation so far does not do this if the number of cpus is greating than the number of hardware queues (e.g. hardware queue allocation was administratively reduced o

[PATCH v4 13/26] lpfc: Allow override of hardware queue selection policies

2019-01-28 Thread James Smart
Default behavior is to use the information from the upper io stacks to select the hardware queue to use for io submission. which typically has good cpu affinity. However, the driver, when used on some variants of the upstream kernel, has found queuing information to be suboptimal for FCP or io com

[PATCH v4 22/26] lpfc: Fix default driver parameter collision for allowing NPIV support

2019-01-28 Thread James Smart
The conversion to enable SCSI and NVME fc4 support ran into an issue with NPIV support. With NVME NPIV is not currently supported, but with SCSI it was. The driver reverted to it's lowest setting meaning NPIV with SCSI was not allowed. Convert the NPIV checks and implementation so that SCSI can co

[PATCH v4 08/26] lpfc: Adapt cpucheck debugfs logic to Hardware Queues

2019-01-28 Thread James Smart
Similar to the io execution path that reports cpu context information the debugfs routines for cpu information needs to be aligned with new hardware queue implementation. Convert debugfs cnd nvme cpucheck statistics to report information per Hardware Queue. Signed-off-by: Dick Kennedy Signed-off

[PATCH v4 10/26] lpfc: Convert ring number to hardware queue for nvme wqe posting.

2019-01-28 Thread James Smart
SLI4 nvme functions are passing the SLI3 ring number when posting wqe to hardware. This should be indicating the hardware queue to use, not the ring number. Replace ring number with the hardware queue that should be used. Note: SCSI avoided this issue as it utilized an older lfpc_issue_iocb routi

[PATCH v4 11/26] lpfc: Synchronize hardware queues with SCSI MQ interface

2019-01-28 Thread James Smart
Now that the lower half has much better per-cpu parallelization using the hardware queues, the SCSI MQ support needs to be tied into it. The involves the following mods: - Use the hardware queue info from the midlayer to help select the hardware queue to utilize. This required change to the ge

[PATCH v4 03/26] lpfc: Implement common IO buffers between NVME and SCSI

2019-01-28 Thread James Smart
Currently, both NVME and SCSI get their IO buffers from separate pools. XRI's are associated 1:1 with IO buffers, so XRI's are also split between protocols. Eliminate the independent pools and use a single pool. Each buffer structure now has a common section and a protocol section. Per protocol ro

[PATCH v4 15/26] lpfc: Support non-uniform allocation of MSIX vectors to hardware queues

2019-01-28 Thread James Smart
So far msix vectors allocation assumed it would be 1:1 with hardware queues. However, there are several reasons why fewer MSIX vectors may be allocated than hardware queues such as the platform being out of vectors or adapter limits being less than cpu count. This patch reworks the MSIX/EQ relatio

[PATCH v4 09/26] lpfc: Move SCSI and NVME Stats to hardware queue structures

2019-01-28 Thread James Smart
Many io statics were being sampled and saved using adapter-based data structures. This was creating a lot of contention and cache thrashing in the I/O path. Move the statistics to the hardware queue data structures. Given the per queue data structures, use of atomic types is lessened. Add new syf

[PATCH v4 07/26] lpfc: cleanup: Remove unused FCP_XRI_ABORT_EVENT slowpath event

2019-01-28 Thread James Smart
Both NVME and SCSI aborts are now processed off the CQ workqueue and do not generate events for the slowpath any more. Remove the unused event code. Signed-off-by: Dick Kennedy Signed-off-by: James Smart Reviewed-by: Hannes Reinecke --- drivers/scsi/lpfc/lpfc.h | 1 - drivers/scsi/lp

[PATCH v4 21/26] lpfc: Rework locking on SCSI io completion

2019-01-28 Thread James Smart
A scsi host lock is taken on every io completion to check whether the abort handler is waiting on the io completion. This is an expensive lock to take on all completion when rarely in an abort condition. Replace scsi host lock with command-specific lock. Synchronize completion and abort paths by n

[PATCH v4 05/26] lpfc: Replace io_channels for nvme and fcp with general hdw_queues per cpu

2019-01-28 Thread James Smart
Currently, both nvme and fcp each have their own concept of an io_channels, which a combination wq/cq and associated msix. Different cpus would share an io_channel. The driver is now moving to per-cpu wq/cq pairs and msix vectors. The driver will still use separate wq/cq pairs per protocol on each

[PATCH v4 06/26] lpfc: Partition XRI buffer list across Hardware Queues

2019-01-28 Thread James Smart
Once the IO buff allocations were made shared, there was a single XRI buffer list shared by all hardware queues. A single list isn't great for performance when shared across the per-cpu hardware queues. Create a separate XRI IO buffer get/put list for each Hardware Queue. As SGLs and associated

[PATCH v4 16/26] lpfc: cleanup: convert eq_delay to usdelay

2019-01-28 Thread James Smart
Review of the eq coalescing logic showed the code was a bit fragmented. Sometimes it would save/set via an interrupt max value, while in others it would do so via a usdelay. There were also two places changing eq delay, one place that issued mailbox commands, and another that changed via register

[PATCH v4 24/26] lpfc: Fix nvmet issues when link bounce under IO load

2019-01-28 Thread James Smart
Various null pointer dereference and general protection fault panics occur when there is a link bounce under load. There are a large number of "error" message 6413 indicating "bad release". The issues resolve to list corruptions due to missing or inconsistent lock protection. Lockups are due to ne

[PATCH v4 19/26] lpfc: Resize cpu maps structures based on possible cpus

2019-01-28 Thread James Smart
The work done to date utilized the number of present cpus when sizing per-cpu structures. Structures should have been sized based on the max possible cpu count. Convert the driver over to possible cpu count for sizing allocation. Signed-off-by: Dick Kennedy Signed-off-by: James Smart Reviewed-b

[PATCH v4 26/26] lpfc: Update lpfc version to 12.2.0.0

2019-01-28 Thread James Smart
Update lpfc version to 12.2.0.0 Signed-off-by: Dick Kennedy Signed-off-by: James Smart Reviewed-by: Hannes Reinecke --- drivers/scsi/lpfc/lpfc_version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/scsi/lpfc/lpfc_version.h b/drivers/scsi/lpfc/lpfc_version.h index

[PATCH v4 04/26] lpfc: Remove extra vector and SLI4 queue for Expresslane

2019-01-28 Thread James Smart
There is a extra queue and msix vector for expresslane. Now that the driver will be doing queues per cpu this oddball queue is no longer needed. Expresslane will utilize the normal per-cpu queues. Updated debugfs sli4 queue output to go along with the change Signed-off-by: Dick Kennedy Signed-o

[PATCH v4 12/26] lpfc: Adapt partitioned XRI lists to efficient sharing

2019-01-28 Thread James Smart
The XRI get/put lists were partitioned per hardware queue. However, the adapter rarely had sufficient resources to give a large number of resources per queue. As such, it became common for a cpu to encounter a lack of XRI resource and request the upper io stack to retry after returning a BUSY condi

[PATCH v4 23/26] lpfc: Correct upcalling nvmet_fc transport during io done downcall

2019-01-28 Thread James Smart
When the transport calls into the lpfc target to release an io job structure, which corresponds to an exchange, and if the driver was waiting for an exchange in order to post a previously received command to the transport, the driver immediately takes the io job and reuses the context for the prior

[PATCH v4 20/26] lpfc: Enable SCSI and NVME fc4s by default

2019-01-28 Thread James Smart
Now that performance mods don't split resources by protocol and enable both protocols by default, there's no reason not to enable concurrent SCSI and NVME fc4 support. Signed-off-by: Dick Kennedy Signed-off-by: James Smart Reviewed-by: Hannes Reinecke --- drivers/scsi/lpfc/lpfc_attr.c | 4 ++--

[PATCH v4 17/26] lpfc: Rework EQ/CQ processing to address interrupt coalescing

2019-01-28 Thread James Smart
When driving high iop counts, auto_imax coalescing kick in and drives the performance to extremely small iops levels. There are two issues: 1) auto_imax is enabled by default. The auto algorithm, when iops gets high divides the iops by the hdwq count and uses that value to calculate EQ_Delay

[PATCH v4 18/26] lpfc: Utilize new IRQ API when allocating MSI-X vectors

2019-01-28 Thread James Smart
Current driver uses the older IRQ API for msix allocation Change driver to utilize pci_alloc_irq_vectors when allocation IRQ vectors. Make lpfc_cpu_affinity_check use pci_irq_get_affinity to determine how the kernel mapped all the IRQs. Remove msix_entries from SLI4 structure, replaced with pci_

[patch-next] scsi: pmcraid: use dma_pool_zalloc

2019-01-28 Thread Christopher Diaz Riveros
Fixes coccinelle warning: *_pool_zalloc should be used for pinstance -> cmd_list [ i ] -> ioa_cb, instead of *_pool_alloc/memset Signed-off-by: Christopher Diaz Riveros --- drivers/scsi/pmcraid.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/scsi/pmcraid.c b/dri

Re: [PATCH] block: set rq->cmd_flags with bio->opf instead of data->cmd_flags when bio is not Null

2019-01-28 Thread chenxiang (M)
在 2019/1/28 23:57, Christoph Hellwig 写道: On Mon, Jan 28, 2019 at 03:36:58PM +, John Garry wrote: As I understood, the problem is the scenario of calling blk_mq_make_request()->bio_integrity_prep() where we then allocate a bio integrity payload in calling bio_integrity_alloc(). In this ca

Re: [PATCH v2] SCSI: fcoe: convert to use BUS_ATTR_WO

2019-01-28 Thread Martin K. Petersen
Greg, > We are trying to get rid of BUS_ATTR() and the usage of that in the > fcoe driver can be trivially converted to use BUS_ATTR_WO(), so use > that instead. Applied to 5.1/scsi-queue, thanks! -- Martin K. Petersen Oracle Linux Engineering

Re: [PATCH] SCSI: fcoe: remove unneeded fcoe_ctlr_destroy_store export

2019-01-28 Thread Martin K. Petersen
Greg, > There's no need to export fcoe_ctlr_destroy_store as a symbol, so remove > the EXPORT_SYMBOL() line for it. Applied to 5.1/scsi-queue, thank you! -- Martin K. Petersen Oracle Linux Engineering

Re: [PATCH] MAINTAINERS: Move FCoE to Hannes Reinecke

2019-01-28 Thread Martin K. Petersen
Johannes, > I'll be moving on to different things in the storage stack and Hannes > agreed to take over FCoE. Applied to 5.1/scsi-queue. Thanks. -- Martin K. Petersen Oracle Linux Engineering

Re: [PATCH 0/7] SCSI: cleanup debugfs usage

2019-01-28 Thread Martin K. Petersen

Re: [PATCH] scsi: hpsa: clean up two indentation issues

2019-01-28 Thread Martin K. Petersen
Colin, > There are two statements that are indented incorrectly. Fix these. Applied to 5.1/scsi-queue, thanks. -- Martin K. Petersen Oracle Linux Engineering

Re: [PATCH] libsas: Remove scsi_to_u32()

2019-01-28 Thread Martin K. Petersen
Bart, > Since the function scsi_to_u32() is identical to get_unaligned_be32(), > change all scsi_to_u32() calls into get_unaligned_be32() calls. Applied to 5.1/scsi-queue, thanks! -- Martin K. Petersen Oracle Linux Engineering

Re: [PATCH] sd: Protect against submitting READ(6) or WRITE(6) with 256 logical blocks

2019-01-28 Thread Martin K. Petersen
Bart, > Since the READ(6) and WRITE(6) commands interpret a zero in the transfer > length field in the CDB as 256 logical blocks, avoid submitting such > commands. Applied to 5.1/scsi-queue, thanks. -- Martin K. Petersen Oracle Linux Engineering

Re: [PATCH] zfcp: fix sysfs block queue limit output for max_segment_size

2019-01-28 Thread Martin K. Petersen
Steffen, > Since v2.6.35 commit 683229845f17 ("[SCSI] zfcp: Report scatter-gather > limits to SCSI and block layer"), zfcp set dma_parms.max_segment_size == > PAGE_SIZE (but without using the setter dma_set_max_seg_size()) > and scsi_host_template.dma_boundary == PAGE_SIZE - 1. Applied to 5.0/s

Re: [PATCH -next] scsi: fnic: Remove set but not used variable 'vdev'

2019-01-28 Thread Martin K. Petersen
YueHaibing, > Fixes gcc '-Wunused-but-set-variable' warning: > > drivers/scsi/fnic/vnic_wq.c: In function 'vnic_wq_alloc_bufs': > drivers/scsi/fnic/vnic_wq.c:50:19: warning: > variable 'vdev' set but not used [-Wunused-but-set-variable] > > drivers/scsi/fnic/vnic_rq.c: In function 'vnic_rq_allo

Re: [PATCH] libfc free skb when receiving invalid flogi resp

2019-01-28 Thread Martin K. Petersen
Ming, > The issue to be fixed in this commit is when libfc found it received a > invalid FLOGI response from FC switch, it would return without freeing > the fc frame, which is just the skb data. This would cause memory leak > if FC switch keeps sending invalid FLOGI responses. Applied to 5.0/s

Re: [PATCH 0/2] scsi: trivial header search path fixups

2019-01-28 Thread Martin K. Petersen
Masahiro, > My main motivation is to get rid of crappy header search path manipulation > from Kbuild core. > > Before that, I want to do as many treewide cleanups as possible. Applied to 5.1/scsi-queue, thanks! -- Martin K. Petersen Oracle Linux Engineering

Re: [PATCH] scsi_debug: fix write_same with virtual_gb problem

2019-01-28 Thread Martin K. Petersen
Doug, > The WRITE SAME(10) and (16) implementations didn't take account of the > buffer wrap required when the virtual_gb parameter is greater than 0. > > Fix that and rename the fake_store() function to lba2fake_store() to > lessen confusion with the global fake_storep pointer. Bump version > d

Re: [PATCH] pcmcia: Remove unnecessary parentheses

2019-01-28 Thread Martin K. Petersen
Nathan, >> drivers/scsi/pcmcia/nsp_cs.c:1137:27: warning: equality comparison with >> extraneous parentheses [-Wparentheses-equality] >> if ((tmpSC->SCp.Message == MSG_COMMAND_COMPLETE)) { >> ~~~^~~ Applied to 5.1/scsi-que

Re: [PATCH] scsi: nsp32: Remove unnecessary self assignment in nsp32_set_sync_entry

2019-01-28 Thread Martin K. Petersen
Nathan, >> drivers/scsi/nsp32.c:2444:14: warning: explicitly assigning value of >> variable of type 'unsigned char' to itself [-Wself-assign] >> offset = offset; >> ~~ ^ Applied to 5.1/scsi-queue. Thanks. -- Martin K. Petersen Oracle Linux Engineering

Re: [PATCH] scsi: bnx2fc: Fix error handling in probe()

2019-01-28 Thread Martin K. Petersen
Dan, > There are two issues here. First if cmgr->hba is not set early enough > then it leads to a NULL dereference. Second if we don't completely > initialize cmgr->io_bdt_pool[] then we end up dereferencing > uninitialized pointers. Applied to 5.0/scsi-fixes, thanks! -- Martin K. Petersen

Re: [PATCH] scsi: 53c700: pass correct "dev" to dma_alloc_attrs()

2019-01-28 Thread Martin K. Petersen
Dan, > The "hostdata->dev" pointer is NULL here. We set "hostdata->dev = dev;" > later in the function and we also use "hostdata->dev" when we call > dma_free_attrs() in NCR_700_release(). > > This bug predates git version control. Applied to 5.0/scsi-fixes, thank you! -- Martin K. Petersen

Re: [PATCH 00/13] hisi_sas: Misc fixes and other more minor patches

2019-01-28 Thread Martin K. Petersen
John, > This series includes a misc assortment of fixes found during testing. > > Also includes is some debugfs tidy-up and a patch missed from original > upstreaming. Applied to 5.1/scsi-queue, thanks. -- Martin K. Petersen Oracle Linux Engineering

RE: [PATCH v1 1/1] scsi: ufs: Print uic error history in time order

2019-01-28 Thread Avri Altman
> > Now uic errors are printed out of time order. > > Simply make it more readable by printing logs > in time order, and printing "No record" if history > is empty. > > Signed-off-by: Stanley Chu Reviewed-by: Avri Altman

Re: [LSF/MM TOPIC] blk-mq private tags for SCSI

2019-01-28 Thread Hannes Reinecke
On 1/28/19 5:40 PM, Christoph Hellwig wrote: On Mon, Jan 28, 2019 at 03:33:46PM +0100, Hannes Reinecke wrote: Well ... not always. Some drivers (eg aacraid or hpsa) use internal commands to query hardware, handle events and the like. These commands use the same infrastructure than normal SCSI co

  1   2   >