Bart Van Assche - 09.10.17, 16:14:
> 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
In beiscsi_dev_probe, allocated msi_name does not get freed and enabled
HW interrupts are not disabled in iscsi_host_add error case.
Add beiscsi_free_irqs fn to handle the cleanup in probe and disable port.
Signed-off-by: Jitendra Bhivare
---
beiscsi_modify_eq_delay is using embedded command to send request of
788 bytes in 236 bytes buffer. Non-embedded command needs to be used
in such cases.
Use mgmt_alloc_cmd_data fn modified to allow passing of subsystem.
Use mgmt_exec_nonemb_cmd fn modified to allow setting of callback.
be_cmd_get_initname pulls GET_HBA_NAME response of 276 bytes in embedded
WRB buffer of 236 bytes.
Use non-embedded functions to issue the IOCTL.
Signed-off-by: Jitendra Bhivare
---
drivers/scsi/be2iscsi/be_cmds.h | 2 --
drivers/scsi/be2iscsi/be_iscsi.c | 44
This patch is generated against for-next branch.
Jitendra Bhivare (10):
be2iscsi: Fix boot flags in sysfs
be2iscsi: Fix return value in mgmt_open_connection
be2iscsi: Free msi_name and disable HW intr
be2iscsi: Fix _modify_eq_delay buffer overflow
be2iscsi: Fix _get_initname buffer
On Mon, Oct 09, 2017 at 04:14:00PM -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
The patch fixes errors reported by tools like smatch:
- removes unused structure fields
- removes dead code
- fixes code identation
Signed-off-by: Jitendra Bhivare
---
drivers/scsi/be2iscsi/be.h | 17
drivers/scsi/be2iscsi/be_cmds.c | 1 -
Version 11.4.0.1
Signed-off-by: Jitendra Bhivare
---
drivers/scsi/be2iscsi/be_main.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/be2iscsi/be_main.h b/drivers/scsi/be2iscsi/be_main.h
index 3d21849..9bc7ef9 100644
---
Provide driver version in host data to FW.
Signed-off-by: Jitendra Bhivare
---
drivers/scsi/be2iscsi/be_cmds.c | 46 +
drivers/scsi/be2iscsi/be_cmds.h | 26 +++
drivers/scsi/be2iscsi/be_main.c | 2 ++
3
Signed-off-by: Jitendra Bhivare
---
drivers/scsi/be2iscsi/be.h | 2 +-
drivers/scsi/be2iscsi/be_cmds.c | 2 +-
drivers/scsi/be2iscsi/be_cmds.h | 2 +-
drivers/scsi/be2iscsi/be_iscsi.c | 2 +-
drivers/scsi/be2iscsi/be_iscsi.h | 2 +-
Add version 1 of GET_HBA_NAME to fetch port specific IQN first.
If it fails use version 0 to get the IQN.
To use this old IQN names of interfaces needs to be cleared from
the iscsiadm database.
Signed-off-by: Jitendra Bhivare
---
drivers/scsi/be2iscsi/be_iscsi.c
mgmt_open_connection is expected to return tag not errno.
In error case, just return invalid tag 0.
Signed-off-by: Jitendra Bhivare
---
drivers/scsi/be2iscsi/be_mgmt.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git
The boot flags exported through sysfs was wrongly reverted to 2.
Use boot flag 3 required per spec.
Bit 0 Block valid flag
Bit 1 Firmware booting selected
Signed-off-by: Jitendra Bhivare
---
drivers/scsi/be2iscsi/be_main.c | 11 +--
1 file changed, 9
> Il giorno 10 ott 2017, alle ore 14:34, Johannes Thumshirn
> ha scritto:
>
> Hi John,
>
> On Tue, Oct 10, 2017 at 01:24:52PM +0100, John Garry wrote:
>> It's using cfq (for non-mq) and mq-deadline (obviously for mq).
>
> Please be aware that cfq and mq-deadline are _not_
Enclosure handles are not updated after host reset.
As a result, driver device structure is holding previously
assigned enclosure handle which is different from the
enclosure handle populated in the corresponding device page.
Modified the driver to update devices enclosure handles after
host
Bump mpt3sas driver version to v16.100.00.00
Signed-off-by: Sreekanth Reddy
---
drivers/scsi/mpt3sas/mpt3sas_base.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.h
b/drivers/scsi/mpt3sas/mpt3sas_base.h
On Tue, Oct 10, 2017 at 01:24:52PM +0100, John Garry wrote:
> On 10/10/2017 02:46, Ming Lei wrote:
> > > > > > I tested this series for the SAS controller on HiSilicon hip07
> > > > > > platform as I
> > > > > > am interested in enabling MQ for this driver. Driver is
> > > > > >
Updated MPI headers to v2.00.48
Signed-off-by: Sreekanth Reddy
---
drivers/scsi/mpt3sas/mpi/mpi2.h | 43 ++-
drivers/scsi/mpt3sas/mpi/mpi2_cnfg.h | 564 +--
drivers/scsi/mpt3sas/mpi/mpi2_init.h | 11 +-
Whenever IO for raid volume fails with IOCStatus
"MPI2_IOCSTATUS_SCSI_IOC_TERMINATED"and SCSIStatus equal to
"(MPI2_SCSI_STATE_TERMINATED | MPI2_SCSI_STATE_NO_SCSI_STATUS)"
then return the IO to SML with "DID_RESET"
(i.e. retry the IO infinite times) host bytes.
Earlier driver is returning
Display chassis slot information along with other drive location parameters
such as slot number and connector name in the logs; if chassis slot
validity bit is set in 'SAS Enclosure Page 0' while adding the drive.
Signed-off-by: Sreekanth Reddy
---
Adding PNP ID of Mercator i.e. SAS3616 HBA device.
Its device ID is 0xD1 and vendor ID is 0x1000.
Signed-off-by: Sreekanth Reddy
---
drivers/scsi/mpt3sas/mpt3sas_scsih.c | 5 +
1 file changed, 5 insertions(+)
diff --git a/drivers/scsi/mpt3sas/mpt3sas_scsih.c
In case of vlan pass 0 as ifindex to find route instead of
passing real_dev ifindex, if we pass real_dev ifindex
then ip_route_output_ports() and ip6_route_output() will
check for route through real_dev not through vlan interface.
Signed-off-by: Varun Prakash
---
On 10/10/2017 02:46, Ming Lei wrote:
> > I tested this series for the SAS controller on HiSilicon hip07 platform as I
> > am interested in enabling MQ for this driver. Driver is
> > ./drivers/scsi/hisi_sas/.
> >
> > So I found that that performance is improved when enabling default SCSI_MQ
> >
To reduce the memory footprints of the driver in kdump kernel,
we have made below driver setting when system boots in to kdump kernel,
1. Used single MSI-x vector.
2. Disable RDPQ mode.
3. Set sg_table_size to 32 by default.
4) Set SCSI IO Queue depth to 200.
Signed-off-by: Sreekanth Reddy
Fixed below memory leak in driver,
* While removing Expander devices - we are removing expander
device entry from the list before freeing it's child devices,
so while freeing child device we are finding its parent device
node as NULL and so we are not freeing the child device's
allocated data
Earlier Active Cable Exception event with reason code
"Cable Degraded (0x02))" was added only for Active Cable,
Now this event is extended to Passive cable too.
So re-arranged display message accordingly.
Also added Cable Exception Event even for SAS3008 & SAS3108 HBAs
(i.e. MPI 2.5 spec
Phase15 driver enhancements and fixes.
Sreekanth Reddy (10):
mpt3sas: Processing of Cable Exception events
mpt3sas: Fixed memory leaks in driver
mpt3sas: Reduce memory footprints in kdump kernel
mpt3sas: Fix removal and addition of vSES device during host reset
mpt3sas: Fix IO error
For Dev Handles who value is less than hba's phys count number
driver will return HBA sas address value as a sas address.
So for Virtual SES device also driver was returning HBA sas address instead
of Virtual SES sas address. So now updated the driver to return
Virtual SES's sas address for
Hi John,
On Tue, Oct 10, 2017 at 01:24:52PM +0100, John Garry wrote:
> It's using cfq (for non-mq) and mq-deadline (obviously for mq).
Please be aware that cfq and mq-deadline are _not_ comparable, for a realistic
comparasion please use deadline and mq-deadline or cfq and bfq.
> root@(none)$
On Mon, Oct 09, 2017 at 07:24:22PM +0800, Ming Lei wrote:
> We need to iterate ctx starting from any ctx in round robin
> way, so introduce this helper.
>
> Cc: Omar Sandoval
Reviewed-by: Omar Sandoval
> Signed-off-by: Ming Lei
> ---
>
On Mon, Oct 09, 2017 at 07:24:24PM +0800, Ming Lei wrote:
> During dispatching, we moved all requests from hctx->dispatch to
> one temporary list, then dispatch them one by one from this list.
> Unfortunately during this period, run queue from other contexts
> may think the queue is idle, then
On Tue, 2017-10-10 at 18:56 +0800, Ming Lei wrote:
> On Mon, Oct 09, 2017 at 04:14:00PM -0700, Bart Van Assche wrote:
> > [ ... ]
> > int
> > scsi_device_quiesce(struct scsi_device *sdev)
> > {
> > + struct request_queue *q = sdev->request_queue;
> > int err;
> >
> > + /* If the SCSI
On Mon, Oct 09, 2017 at 07:24:20PM +0800, Ming Lei wrote:
> When hw queue is busy, we shouldn't take requests from
> scheduler queue any more, otherwise it is difficult to do
> IO merge.
>
> This patch fixes the awful IO performance on some
> SCSI devices(lpfc, qla2xxx, ...) when
On Mon, Oct 09, 2017 at 07:24:23PM +0800, Ming Lei wrote:
> SCSI devices use host-wide tagset, and the shared driver tag space is
> often quite big. Meantime there is also queue depth for each lun(
> .cmd_per_lun), which is often small, for example, on both lpfc and
> qla2xxx, .cmd_per_lun is just
Hi Thomas,
Sorry for the late reply.
I'll apply the patches and retest in this week.
Please wait a while.
Thanks,
Yasuaki Ishimatsu
On 10/04/2017 05:04 PM, Thomas Gleixner wrote:
> On Tue, 3 Oct 2017, Thomas Gleixner wrote:
>> Can you please apply the debug patch below.
>
> I found an issue
On Tue, 2017-10-10 at 09:57 +0200, Martin Steigerwald wrote:
> Bart Van Assche - 09.10.17, 16:14:
> > The contexts from which a SCSI device can be quiesced or resumed are:
> > [ ... ]
>
> Does this as reliably fix the issue as the patches from Ming? I mean in *real
> world* scenarios? Or is it
On Tue, 2017-10-10 at 17:29 +0200, Johannes Thumshirn wrote:
> Call set_host_byte() instead of open-coding it.
>
> Converted using this simple Coccinelle spatch
>
>
> @@
> local idexpression struct scsi_cmnd *c;
> expression E1;
> @@
>
> - c->result = E1 << 16;
> + set_host_byte(c, E1);
>
On 10/09/2017 01:33 PM, Johannes Thumshirn wrote:
> The SCSI host byte should be shifted left by 16 in order to have
> scsi_decide_disposition() do the right thing (.i.e. requeue the command).
>
> Signed-off-by: Johannes Thumshirn
> Fixes: 661134ad3765 ("[SCSI] libiscsi,
Coverity-scan recently found a possible NULL pointer dereference in
fc_block_scsi_eh() as starget_to_rport() either returns the rport for
the startget or NULL.
While it is rather unlikely to have fc_block_scsi_eh() called without
an rport associated it's a good idea to catch potential misuses of
On 10/10/2017 14:45, Ming Lei wrote:
Hi John,
All change in V6.2 is blk-mq/scsi-mq only, which shouldn't
affect non SCSI_MQ, so I suggest you to compare the perf
between deadline and mq-deadline, like Johannes mentioned.
>
> V6.2 series with default SCSI_MQ
> read, rw, write IOPS
>
Call set_host_byte() instead of open-coding it.
Converted using this simple Coccinelle spatch
@@
local idexpression struct scsi_cmnd *c;
expression E1;
@@
- c->result = E1 << 16;
+ set_host_byte(c, E1);
Signed-off-by: Johannes Thumshirn
Cc: Steffen Maier
From: Quinn Tran
Fixes following stack trace
kernel: Call Trace:
kernel: dump_stack+0x63/0x84
kernel: __warn+0xd1/0xf0
kernel: warn_slowpath_null+0x1d/0x20
kernel: __queue_work+0x37a/0x420
kernel: queue_work_on+0x27/0x40
kernel: queue_work+0x14/0x20 [qla2xxx]
kernel:
Hi Randy,
On Oct 10, 2017, at 3:05 PM, Randy Dunlap wrote:
>
> From: Randy Dunlap
>
> Update the description of 'scsi_logging_level' from 8 4-bit nibbles
> to the (pre-git) reality of 10 3-bit 'nibbles'.
>
> Signed-off-by: Randy Dunlap
From: Randy Dunlap
Update the description of 'scsi_logging_level' from 8 4-bit nibbles
to the (pre-git) reality of 10 3-bit 'nibbles'.
Signed-off-by: Randy Dunlap
---
drivers/scsi/scsi_logging.h |8
1 file changed, 4 insertions(+), 4
The three values starting at byte 8 of the Zoned Block Device
Characteristics VPD page B6h are 32 bits values, not 64bits. So use
get_unaligned_be32() to retrieve the values and not get_unaligned_be64()
Fixes: 89d947561077 ("sd: Implement support for ZBC devices")
Cc:
Fix comments style (use kernel-doc style) and content to clarify some
functions. Also fix some functions signature indentation and remove a
useless blank line in sd_zbc_read_zones().
No functional change is introduced by this patch.
Signed-off-by: Damien Le Moal
Rearrange sd_zbc_setup() to include use_16_for_rw and use_10_for_rw
assignments and move the calculation of sdkp->zone_shift together
with the assignment of the verified zone_blocks value in
sd_zbc_check_zone_size().
No functional change is introduced by this patch.
Signed-off-by: Damien Le Moal
instead of open coding, use the min() macro to calculate a report zones
reply buffer length in sd_zbc_check_zone_size() and the round_up()
macro for calculating the number of zones in sd_zbc_setup().
No functional change is introduced by this patch.
Signed-off-by: Damien Le Moal
Move standard macro definitions for the zone types and zone conditions
to scsi_proto.h together with the definitions related to the
REPORT ZONES command. While at it, define all values in the enums to
be clear.
Also remove unnecessary includes in sd_zbc.c.
No functional change is introduced by
Martin,
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 and will be
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
Cc: Martin K. Petersen
Acked-by: David S. Miller
Set RQF_PREEMPT if BLK_MQ_REQ_PREEMPT is passed to
blk_get_request_flags().
Signed-off-by: Bart Van Assche
Cc: Christoph Hellwig
Cc: Ming Lei
Cc: Hannes Reinecke
Cc: Johannes Thumshirn
---
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
Cc: Christoph Hellwig
Cc: Ming Lei
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
Cc: Shaohua Li
Cc:
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
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
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
Hi Himanshu,
On Oct 6, 2017, at 2:57 PM, Himanshu Jha wrote:
>
> Use kasprintf instead of combination of kmalloc and sprintf.
>
> Signed-off-by: Himanshu Jha
> ---
> drivers/scsi/be2iscsi/be_main.c | 12 +---
> 1 file changed, 5
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
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
Cc: Ming Lei
Cc:
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
Cc: Shaohua Li
Cc: linux-r...@vger.kernel.org
Cc: Ming Lei
Cc:
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
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: Tyrel Datwyler
Cc:
> -Original Message-
> From: Johannes Thumshirn [mailto:jthumsh...@suse.de]
> Sent: Monday, November 21, 2016 8:15 AM
> To: Martin Wilck
> Cc: Don Brace ; dl-esc-Team ESD Storage Dev
> Support ;
>
Looks good,
Reviewed-by: Johannes Thumshirn
--
Johannes Thumshirn Storage
jthumsh...@suse.de+49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham
Looks good,
Reviewed-by: Johannes Thumshirn
--
Johannes Thumshirn Storage
jthumsh...@suse.de+49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham
Looks good,
Reviewed-by: Johannes Thumshirn
--
Johannes Thumshirn Storage
jthumsh...@suse.de+49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham
On Tue, Oct 10, 2017 at 02:03:39PM -0700, 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
We are testing if there is a match with the ses device in a loop
by calling ses_match_to_enclosure(), which will issue scsi receive
diagnostics commands to the ses device for every device on the
same host.
On one of our boxes with 840 disks, it takes a long time to load
the driver:
On Tue, Oct 10, 2017 at 11:33:06PM +, Bart Van Assche wrote:
> On Tue, 2017-10-10 at 15:30 -0700, Shaohua Li wrote:
> > On Tue, Oct 10, 2017 at 02:03:39PM -0700, Bart Van Assche wrote:
> > > Some people use the md driver on laptops and use the suspend and
> > > resume functionality. Since it
From: Randy Dunlap
Fix typo: I20 should be I2O.
Signed-off-by: Randy Dunlap
---
Documentation/driver-api/scsi.rst |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- lnx-414-rc3.orig/Documentation/driver-api/scsi.rst
+++
On Tue, 2017-10-10 at 15:30 -0700, Shaohua Li wrote:
> On Tue, Oct 10, 2017 at 02:03:39PM -0700, 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
72 matches
Mail list logo