[PATCH 1/3] myrb: Add Mylex RAID controller (block interface)

2018-10-09 Thread Hannes Reinecke
This patch adds support for the Mylex DAC960 RAID controller, supporting the older, block-based interface only. The driver is a re-implementation of the original DAC960 driver. Signed-off-by: Hannes Reinecke --- drivers/scsi/Kconfig| 15 + drivers/scsi/Makefile |1 + drivers/scsi/myr

[PATCHv4 0/3] Deprecate DAC960 driver

2018-10-09 Thread Hannes Reinecke
Hi all, as we're trying to get rid of the remaining request_fn drivers here's a patchset to move the DAC960 driver to the SCSI stack. As per request from hch I've split up the driver into two new SCSI drivers called 'myrb' and 'myrs'. The 'myrb' driver only supports the earlier (V1) firmware inte

[PATCH 2/3] myrs: Add Mylex RAID controller (SCSI interface)

2018-10-09 Thread Hannes Reinecke
This patch adds support for the Mylex DAC960 RAID controller, supporting the newer, SCSI-based interface. The driver is a re-implementation of the original DAC960 driver. Signed-off-by: Hannes Reinecke --- drivers/scsi/Kconfig | 15 + drivers/scsi/Makefile |1 + drivers/scsi/myrs.c | 34

Re: [PATCH 1/1] scsi: ufs: make UFS Tx lane1 clock optional

2018-10-09 Thread Doug Anderson
Hi, On Sun, Oct 7, 2018 at 9:34 PM Can Guo wrote: > > From: Venkat Gopalakrishnan > > The UFS Tx lane1 clock could be muxed, hence keep it optional by ignoring > it if it is not provided in device tree. Thanks for the updated commit message. This makes much more sense now! :-) > @@ -113,10

[PATCH 00/11] Zoned block device support improvements

2018-10-09 Thread Damien Le Moal
This series improves zoned block device support (reduce overhead) and introduces many simplifications to the code (overall, there are more deletions than insertions). In more details: * Patches 1 to 3 are SCSI side (sd driver) cleanups and improvements reducing the overhead of report zones comma

[PATCH 09/11] block: Expose queue nr_zones in sysfs

2018-10-09 Thread Damien Le Moal
Expose through sysfs the nr_zones field of a zoned block device request queue. This represents the total number of zones of the device calculated using the known disk capacity and zone size. Exposing this value helps in debugging disk issues as well as facilitating scripts based use of the disk (e

[PATCH 03/11] scsi: sd_zbc: Fix sd_zbc_check_zones() error checks

2018-10-09 Thread Damien Le Moal
The 32 bits overflow check for the zone size value is already done within sd_zbc_check_zones() with the test: } else if (logical_to_sectors(sdkp->device, zone_blocks) > UINT_MAX) { so there is no need to check again for an out of range value in sd_zbc_read_zones(). Simplify the code and fix sd_zb

[PATCH 04/11] block: Introduce blkdev_nr_zones() helper

2018-10-09 Thread Damien Le Moal
Introduce the blkdev_nr_zones() helper function to get the total number of zones of a zoned block device. This number is always 0 for a regular block device (q->limits.zoned == BLK_ZONED_NONE case). Replace hard-coded number of zones calculation in dmz_get_zoned_device() with a call to this helper

[PATCH 05/11] block: Limit allocation of zone descriptors for report zones

2018-10-09 Thread Damien Le Moal
There is no point in allocating more zone descriptors than the number of zones a block device has for doing a zone report. Avoid doing that in blkdev_report_zones_ioctl() by limiting the number of zone decriptors allocated internally to process the user request. Signed-off-by: Damien Le Moal ---

[PATCH 07/11] block: Introduce BLKGETNRZONES ioctl

2018-10-09 Thread Damien Le Moal
Get a zoned block device total number of zones. The device can be a partition of the whole device. The number of zones is always 0 for regular block devices. Signed-off-by: Damien Le Moal --- block/ioctl.c | 2 ++ include/uapi/linux/blkzoned.h | 1 + 2 files changed, 3 insertions

[PATCH 08/11] block: Improve zone reset execution

2018-10-09 Thread Damien Le Moal
There is no need to synchronously execute all REQ_OP_ZONE_RESET BIOs necessary to reset a range of zones. Similarly to what is done for discard BIOs in blk-lib.c, all zone reset BIOs can be chained and executed asynchronously and a synchronous call done only for the last BIO of the chain. Modify b

[PATCH 01/11] scsi: sd_zbc: Rearrange code

2018-10-09 Thread Damien Le Moal
Move the urswrz check out of sd_zbc_read_zones() and into sd_zbc_read_zoned_characteristics() where that value is obtained (read from the disk zoned characteristics VPD page). Since this function now does more than simply reading the VPD page, rename it to sd_zbc_check_zoned_characteristics(). Also

[PATCH 02/11] scsi: sd_zbc: Reduce boot device scan and revalidate time

2018-10-09 Thread Damien Le Moal
Handling checks of ZBC device capacity using the max_lba field of the REPORT ZONES command reply for disks with rc_basis == 0 can be done using the same report zones command reply used to check the "same" field. Avoid executing a report zones command solely to check the disk capacity by merging sd

[PATCH 06/11] block: Introduce BLKGETZONESZ ioctl

2018-10-09 Thread Damien Le Moal
Get a zoned block device zone size in number of 512 B sectors. The zone size is always 0 for regular block devices. Signed-off-by: Damien Le Moal --- block/ioctl.c | 2 ++ include/uapi/linux/blkzoned.h | 2 ++ 2 files changed, 4 insertions(+) diff --git a/block/ioctl.c b/block/i

[PATCH 11/11] block: Introduce revalidate_disk_zones()

2018-10-09 Thread Damien Le Moal
Drivers exposing zoned block devices have to initialize and maintain correctness (i.e. revalidate) of the device zone bitmaps attached to the device request queue (seq_zones_bitmap and seq_zones_wlock). To simplify coding this, introduce a generic helper function revalidate_disk_zones() suitable f

[PATCH 10/11] block: add a report_zones method

2018-10-09 Thread Damien Le Moal
From: Christoph Hellwig Dispatching a report zones command through the request queue is a major pain due to the command reply payload rewriting necessary. Given that blkdev_report_zones() is executing everything synchronously, implement report zones as a block device file operation instead, allow

Re: [PATCHv4 0/3] Deprecate DAC960 driver

2018-10-09 Thread Bart Van Assche
On 10/9/18 8:26 AM, Hannes Reinecke wrote: as we're trying to get rid of the remaining request_fn drivers here's a patchset to move the DAC960 driver to the SCSI stack. As per request from hch I've split up the driver into two new SCSI drivers called 'myrb' and 'myrs'. Hi Hannes, It seems like

[PATCH 0/2] target: Fix v4.19-rc active I/O shutdown deadlock

2018-10-09 Thread Nicholas A. Bellinger
From: Nicholas Bellinger Hi MNC, MKP & Co, While testing v4.19-rc recently with simple backend I/O error injection (via delayed BIO completion), I was able to trigger an end-less loop deadlock with recent changes in commit 00d909a107: Author: Bart Van Assche Date: Fri Jun 22 14:52:53 201

[PATCH 1/2] sched/wait: Add wait_event_lock_irq_timeout for TASK_UNINTERRUPTIBLE usage

2018-10-09 Thread Nicholas A. Bellinger
From: Nicholas Bellinger Short of reverting commit 00d909a107 for v4.19, target-core needs a wait_event_t marco can be executed using TASK_UNINTERRUPTIBLE to function correctly with existing fabric drivers that expect to run with signals pending during session shutdown and active se_cmd I/O quies

[PATCH 2/2] target: Fix target_wait_for_sess_cmds breakage with active signals

2018-10-09 Thread Nicholas A. Bellinger
From: Nicholas Bellinger With the addition of commit 00d909a107 in v4.19-rc, it incorrectly assumes no signals will be pending for task_struct executing the normal session shutdown and I/O quiesce code-path. For example, iscsi-target and iser-target issue SIGINT to all kthreads as part of sessio

Re: [PATCH 2/2] target: Fix target_wait_for_sess_cmds breakage with active signals

2018-10-09 Thread Ly, Bryant
> On Oct 9, 2018, at 10:23 PM, Nicholas A. Bellinger > wrote: > > From: Nicholas Bellinger > > With the addition of commit 00d909a107 in v4.19-rc, it incorrectly assumes no > signals will be pending for task_struct executing the normal session shutdown > and I/O quiesce code-path. > > For

Re: [PATCH 1/2] sched/wait: Add wait_event_lock_irq_timeout for TASK_UNINTERRUPTIBLE usage

2018-10-09 Thread Ly, Bryant
Hi Nic, Good to see you back! > On Oct 9, 2018, at 10:23 PM, Nicholas A. Bellinger > wrote: > > From: Nicholas Bellinger > > Short of reverting commit 00d909a107 for v4.19, target-core needs a > wait_event_t marco can be executed using TASK_UNINTERRUPTIBLE to > function correctly with exist

Re: [PATCH 0/2] target: Fix v4.19-rc active I/O shutdown deadlock

2018-10-09 Thread Nicholas A. Bellinger
On Wed, 2018-10-10 at 03:23 +, Nicholas A. Bellinger wrote: > From: Nicholas Bellinger > > Hi MNC, MKP & Co, > > While testing v4.19-rc recently with simple backend I/O error injection > (via delayed BIO completion), I was able to trigger an end-less loop > deadlock with recent changes in co

Re: [PATCH 2/2] target: Fix target_wait_for_sess_cmds breakage with active signals

2018-10-09 Thread Bart Van Assche
On 10/9/18 8:23 PM, Nicholas A. Bellinger wrote: diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c index 86c0156..fc3093d2 100644 --- a/drivers/target/target_core_transport.c +++ b/drivers/target/target_core_transport.c @@ -2754,7 +2754,7 @@ static void

Re: [PATCHv4 0/3] Deprecate DAC960 driver

2018-10-09 Thread Hannes Reinecke
On 10/10/18 4:03 AM, Bart Van Assche wrote: On 10/9/18 8:26 AM, Hannes Reinecke wrote: as we're trying to get rid of the remaining request_fn drivers here's a patchset to move the DAC960 driver to the SCSI stack. As per request from hch I've split up the driver into two new SCSI drivers called '

Re: [PATCHv4 0/3] Deprecate DAC960 driver

2018-10-09 Thread Christoph Hellwig
On Wed, Oct 10, 2018 at 07:49:03AM +0200, Hannes Reinecke wrote: > On 10/10/18 4:03 AM, Bart Van Assche wrote: >> On 10/9/18 8:26 AM, Hannes Reinecke wrote: >>> as we're trying to get rid of the remaining request_fn drivers here's >>> a patchset to move the DAC960 driver to the SCSI stack. >>> As p

Re: [PATCH] lpfc: fixup crash in lpfc_els_unsol_buffer()

2018-10-09 Thread Ewan D. Milne
On Tue, 2018-10-09 at 08:30 +0200, Hannes Reinecke wrote: > lpfc_nlp_get() in lpfc_els_unsol_buffer() is not running under a > lock, so there is a chance that it might actually fail. But as we > never check the return value we'll get a crash in lpfc_nlp_put() > later on trying to free an invalid bu

Re: aic7xxx DMA overflow error

2018-10-09 Thread Christoph Hellwig
On Mon, Oct 01, 2018 at 04:57:39PM -0400, tedheadster wrote: > Christoph, > I was able to bisect this to your patch "scsi: reduce use of block > bounce buffers". I am getting the error on a 32-bit Dell PowerEdge > 6650. It has the aic7xxx integrated onto the motherboard. > > Again, here is the e