+--
> drivers/scsi/libsas/sas_internal.h | 6
> drivers/scsi/libsas/sas_phy.c | 44 +--
> drivers/scsi/libsas/sas_port.c | 18 +-
> include/scsi/libsas.h | 17 +
> 6 files changed, 115 insert
++-
> drivers/scsi/libsas/sas_init.c | 27 --
> drivers/scsi/libsas/sas_internal.h | 6
> drivers/scsi/libsas/sas_phy.c | 44 +--
> drivers/scsi/libsas/sas_port.c | 18 +-
> include/scsi/libsas.h
90] [c03a03c4] sysfs_kf_write+0x64/0xa0
> [c07792d47cb0] [c039f1b0] kernfs_fop_write+0x170/0x250
> [c07792d47d00] [c02fd370] __vfs_write+0x40/0x200
> [c07792d47d90] [c02fd748] vfs_write+0xc8/0x240
> [c07792d47de0] [c02fda80] SyS_w
90] [c03a03c4] sysfs_kf_write+0x64/0xa0
> [c07792d47cb0] [c039f1b0] kernfs_fop_write+0x170/0x250
> [c07792d47d00] [c02fd370] __vfs_write+0x40/0x200
> [c07792d47d90] [c02fd748] vfs_write+0xc8/0x240
> [c07792d47de0] [c02fda80] SyS_w
; drivers/scsi/bfa/bfad_im.h | 10 ++
> 3 files changed, 16 insertions(+), 4 deletions(-)
>
Reviewed-by: Hannes Reinecke <h...@suse.com>
Cheers,
Hannes
re initialization sequence.
>
> Fixes: 45349821ab3a ("scsi: bfa: fix access to bfad_im_port_s")
> Signed-off-by: Arnd Bergmann
> ---
> drivers/scsi/bfa/bfad_bsg.c | 4 ++--
> drivers/scsi/bfa/bfad_im.c | 6 --
> drivers/scsi/bfa/bfad_im.h | 10 ++
> 3 files changed, 16 insertions(+), 4 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
t; continue;
>
> list_for_each_entry(rport, >endp_list, endp_list) {
We need both, 'laddr.nn' and 'laddr.pn'. So this statement is wrong.
You probably need something like
if (!laddr.nn || !laddr.pn || )
Cheers,
Hannes
--
Dr. Hannes Reinecke
ist_for_each_entry(rport, >endp_list, endp_list) {
We need both, 'laddr.nn' and 'laddr.pn'. So this statement is wrong.
You probably need something like
if (!laddr.nn || !laddr.pn || )
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de
= shost_priv(fc_bsg_to_shost(job));
> + struct Scsi_Host *shost = fc_bsg_to_shost(job);
> + struct bfad_im_port_s *im_port = shost->hostdata[0];
> struct bfad_s *bfad = im_port->bfad;
> bfa_bsg_fcpt_t *bsg_fcpt;
> struct bfad_fcxp*drv_fcxp;
ct Scsi_Host *shost = fc_bsg_to_shost(job);
> + struct bfad_im_port_s *im_port = shost->hostdata[0];
> struct bfad_s *bfad = im_port->bfad;
> bfa_bsg_fcpt_t *bsg_fcpt;
> struct bfad_fcxp*drv_fcxp;
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr.
asks + curvec, irq_default_affinity);
> - free_node_to_present_cpumask(node_to_present_cpumask);
> + free_node_to_possible_cpumask(node_to_possible_cpumask);
> out:
> free_cpumask_var(nmsk);
> return masks;
> @@ -214,7 +214,7 @@ int irq_calc_affinity_vectors(
asks + curvec, irq_default_affinity);
> - free_node_to_present_cpumask(node_to_present_cpumask);
> + free_node_to_possible_cpumask(node_to_possible_cpumask);
> out:
> free_cpumask_var(nmsk);
> return masks;
> @@ -214,7 +214,7 @@ int irq_calc_affinity_vectors(
submit a revert request?
>
I'll be checking what's going on there.
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
submit a revert request?
>
I'll be checking what's going on there.
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
As per recommendation from Linus we should be using a distinct
type for blacklist flags.
Signed-off-by: Hannes Reinecke <h...@suse.com>
---
drivers/scsi/scsi_devinfo.c | 18 -
drivers/scsi/scsi_priv.h| 15 +++---
drivers/scsi/scsi_scan.c| 2 +-
includ
As per recommendation from Linus we should be using a distinct
type for blacklist flags.
Signed-off-by: Hannes Reinecke
---
drivers/scsi/scsi_devinfo.c | 18 -
drivers/scsi/scsi_priv.h| 15 +++---
drivers/scsi/scsi_scan.c| 2 +-
include/scsi/scsi_device.h | 4
the SCSI merge this merge window, and it
> seems to still revert cleanly.
>
> So I do suspect that by now we should just revert that commit. It's
> not clear why that state attribute should be pollable, and the new
> code is clearly very much buggy.
&
window, and it
> seems to still revert cleanly.
>
> So I do suspect that by now we should just revert that commit. It's
> not clear why that state attribute should be pollable, and the new
> code is clearly very much buggy.
>
> Hannes, Martin?
>
Seeing the complexity involved,
On 11/03/2017 04:38 AM, Gavin Guo wrote:
> On Sat, Oct 28, 2017 at 11:35 AM, Gavin Guo <gavin@canonical.com> wrote:
>> On Fri, Oct 27, 2017 at 10:53 PM, Hannes Reinecke <h...@suse.de> wrote:
>>> On 10/27/2017 04:02 PM, Gavin Guo wrote:
>>>>
On 11/03/2017 04:38 AM, Gavin Guo wrote:
> On Sat, Oct 28, 2017 at 11:35 AM, Gavin Guo wrote:
>> On Fri, Oct 27, 2017 at 10:53 PM, Hannes Reinecke wrote:
>>> On 10/27/2017 04:02 PM, Gavin Guo wrote:
>>>> Hi Hannes,
>>>>
>>>> Thank you for l
queue ID to '0' if an invalid CPU was found.
With that the driver should be able to ensure that no new I/O will be
submitted which will hit the dead CPU, so with a bit of luck this might
already solve the problem.
Alternatively I could resurrect my patchset converting the driver to
blk-mq, wh
queue ID to '0' if an invalid CPU was found.
With that the driver should be able to ensure that no new I/O will be
submitted which will hit the dead CPU, so with a bit of luck this might
already solve the problem.
Alternatively I could resurrect my patchset converting the driver to
blk-mq, wh
device hotplug for VMWare ESXi', which I guess is
already scheduled for inclusion in 4.14.
Anything else I could help you with?
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, M
device hotplug for VMWare ESXi', which I guess is
already scheduled for inclusion in 4.14.
Anything else I could help you with?
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, M
tignore b/drivers/scsi/.gitignore
> index c89ae9a04399..e2956741fbd1 100644
> --- a/drivers/scsi/.gitignore
> +++ b/drivers/scsi/.gitignore
> @@ -1 +1,2 @@
> 53c700_d.h
> +scsi_devinfo_tbl.c
>
Reviewed-by: Hannes Reinecke <h...@suse.com>
Cheers,
Hannes
--
Dr. Ha
ignore
> index c89ae9a04399..e2956741fbd1 100644
> --- a/drivers/scsi/.gitignore
> +++ b/drivers/scsi/.gitignore
> @@ -1 +1,2 @@
> 53c700_d.h
> +scsi_devinfo_tbl.c
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networkin
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 L
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 L
e value?
>
> ->can_queue is size of the whole tag space shared by all LUNs, looks it isn't
> reasonable to increase cmd_per_lun to .can_queue.
>
'3' is just a starting point; later on it'll be adjusted via
scsi_change_depth().
Looks like it's not working correctly with blk-mq, though.
e value?
>
> ->can_queue is size of the whole tag space shared by all LUNs, looks it isn't
> reasonable to increase cmd_per_lun to .can_queue.
>
'3' is just a starting point; later on it'll be adjusted via
scsi_change_depth().
Looks like it's not working correctly with blk-mq, though.
765 ("[SCSI] libiscsi, bnx2i: make bound ep check common")
> Cc: Lee Duncan <ldun...@suse.com>
> Cc: Hannes Reinecke <h...@suse.de>
> Cc: Bart Van Assche <bart.vanass...@sandisk.com>
> Cc: Chris Leech <cle...@redhat.com>
> ---
> drivers/scsi/libiscsi.
bnx2i: make bound ep check common")
> Cc: Lee Duncan
> Cc: Hannes Reinecke
> Cc: Bart Van Assche
> Cc: Chris Leech
> ---
> drivers/scsi/libiscsi.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/
cked MD?
It's using kernel threads, which probably should be stopped, too, when
going into suspend. After all, MD might be doing on of it's internal
operations (eg resync) at that time, which will generate quite some I/O.
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Netw
hreads, which probably should be stopped, too, when
going into suspend. After all, MD might be doing on of it's internal
operations (eg resync) at that time, which will generate quite some I/O.
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de
mptsas driver, who originally assumed that no
system will have direct-attached SAS devices.
VMWare chose to implement exactly that, so the hotplug detection logic
is flawed here.
I'll be sending a patch.
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h..
mptsas driver, who originally assumed that no
system will have direct-attached SAS devices.
VMWare chose to implement exactly that, so the hotplug detection logic
is flawed here.
I'll be sending a patch.
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h..
ansport_fc.c
> +++ b/drivers/scsi/scsi_transport_fc.c
> @@ -3328,6 +3328,9 @@ int fc_block_scsi_eh(struct scsi_cmnd *cmnd)
> {
> struct fc_rport *rport = starget_to_rport(scsi_target(cmnd->device));
>
> + if (WARN_ON_ONCE(!rport))
> + return 0;
> +
>
fc.c
> @@ -3328,6 +3328,9 @@ int fc_block_scsi_eh(struct scsi_cmnd *cmnd)
> {
> struct fc_rport *rport = starget_to_rport(scsi_target(cmnd->device));
>
> + if (WARN_ON_ONCE(!rport))
> + return 0;
> +
> return fc_block_rport(rport);
> }
> E
On 09/25/2017 09:09 AM, Sagi Grimberg wrote:
>
>
> On 25/09/17 08:59, Hannes Reinecke wrote:
>> On 09/25/2017 07:37 AM, Sagi Grimberg wrote:
>>>
>>>> So why exposing it then in the first time? I know you don't want
>>>> dm-mpath in
>>>
On 09/25/2017 09:09 AM, Sagi Grimberg wrote:
>
>
> On 25/09/17 08:59, Hannes Reinecke wrote:
>> On 09/25/2017 07:37 AM, Sagi Grimberg wrote:
>>>
>>>> So why exposing it then in the first time? I know you don't want
>>>> dm-mpath in
>>>
blocked), and have
NVMf translating the internal state into that.
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
blocked), and have
NVMf translating the internal state into that.
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
On 09/21/2017 01:27 AM, Kees Cook wrote:
> stat_timer only ever assigns the same function and data, so consolidate to
> a setup_timer() call and drop everything else used to pass things around.
>
> reset_timer is unused; remove it.
>
> Cc: Hannes Reinecke <h...@suse.
On 09/21/2017 01:27 AM, Kees Cook wrote:
> stat_timer only ever assigns the same function and data, so consolidate to
> a setup_timer() call and drop everything else used to pass things around.
>
> reset_timer is unused; remove it.
>
> Cc: Hannes Reinecke
> Cc: "J
> [...] R13: 7f0bd751f9c0 R14: 7f0bd751f700 R15:
>> ---
>>
>> Thanks,
>> Yasuaki Ishimatsu
>>
This indeed looks like a problem.
We're going to great lengths to submit and complete I/O on the same CPU,
so if the CPU is offlined while I/O is in flig
> [...] R13: 7f0bd751f9c0 R14: 7f0bd751f700 R15:
>> ---
>>
>> Thanks,
>> Yasuaki Ishimatsu
>>
This indeed looks like a problem.
We're going to great lengths to submit and complete I/O on the same CPU,
so if the CPU is offlined while I/O is in flig
When COMPILE_TEST is set we should be compiling 32-bit only
drivers and features (like ISA support etc), too.
After all, it's a compile test.
Signed-off-by: Hannes Reinecke <h...@suse.com>
---
arch/x86/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/Kco
When COMPILE_TEST is set we should be compiling 32-bit only
drivers and features (like ISA support etc), too.
After all, it's a compile test.
Signed-off-by: Hannes Reinecke
---
arch/x86/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/Kconfig b/arch/x86
On 08/02/2017 10:14 AM, Hannes Reinecke wrote:
> On 07/14/2017 03:22 PM, Suganath Prabu S wrote:
>> Ventura Series controller are Tri-mode. The controller and
>> firmware are capable of supporting NVMe devices and
>> PCIe switches to be connected with the controller. This
>
On 08/02/2017 10:14 AM, Hannes Reinecke wrote:
> On 07/14/2017 03:22 PM, Suganath Prabu S wrote:
>> Ventura Series controller are Tri-mode. The controller and
>> firmware are capable of supporting NVMe devices and
>> PCIe switches to be connected with the controller. This
>
quot;
> -#define MPT3SAS_DRIVER_VERSION "15.100.00.00"
> +#define MPT3SAS_DRIVER_VERSION "15.101.00.00"
> #define MPT3SAS_MAJOR_VERSION15
> -#define MPT3SAS_MINOR_VERSION100
> +#define MPT3SAS_MINOR_VERSION
"15.101.00.00"
> #define MPT3SAS_MAJOR_VERSION15
> -#define MPT3SAS_MINOR_VERSION100
> +#define MPT3SAS_MINOR_VERSION 101
> #define MPT3SAS_BUILD_VERSION 0
> #define MPT3SAS_RELEASE_VERSION 00
>
>
mpt3sas/mpt3sas_scsih.c | 22 --
> 1 files changed, 16 insertions(+), 6 deletions(-)
>
Reviewed-by: Hannes Reinecke <h...@suse.com>
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de
tions(+), 6 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J.
Signed-off-by: Suganath Prabu S <suganath-prabu.subram...@broadcom.com>
> ---
> drivers/scsi/mpt3sas/mpt3sas_ctl.c | 88 +++
> 1 files changed, 58 insertions(+), 30 deletions(-)
>
Reviewed-by: Hannes Reinecke <h...@suse.com>
Cheers,
Hannes
; ---
> drivers/scsi/mpt3sas/mpt3sas_ctl.c | 88 +++
> 1 files changed, 58 insertions(+), 30 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de
s/scsi/mpt3sas/mpt3sas_scsih.c | 83 -
> 1 files changed, 70 insertions(+), 13 deletions(-)
>
Reviewed-by: Hannes Reinecke <h...@suse.com>
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de
1 files changed, 70 insertions(+), 13 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendö
scsih_change_queue_depth(sdev, qdepth);
> + return 0;
> + }
> +
> spin_lock_irqsave(>sas_device_lock, flags);
> sas_device = __mpt3sas_get_sdev_by_addr(ioc,
> sas_device_priv_data->sas_target->sas_address);
>
Well; what a
gt; + }
> +
> spin_lock_irqsave(>sas_device_lock, flags);
> sas_device = __mpt3sas_get_sdev_by_addr(ioc,
> sas_device_priv_data->sas_target->sas_address);
>
Well; what are these TODOs doing here?
If you know things are not correct, why not doing them correctly?
If you cannot do them correctly, why?
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
0;
> + parent_handle = le16_to_cpu(pcie_device_pg0.ParentDevHandle);
> + _scsih_pcie_add_device(ioc, handle);
> +
> + pr_info(MPT3SAS_FMT "\tAFTER adding pcie end device: "
> + "handle (0x%04x), wwid(0x%016llx)\n", ioc->name,
> + handle,
> + (unsigned long long) le64_to_cpu(pcie_device_pg0.WWID));
> + }
> + pr_info(MPT3SAS_FMT "\tpcie devices: pcie end devices complete\n",
> + ioc->name);
> pr_info(MPT3SAS_FMT "scan devices: complete\n", ioc->name);
> }
> /**
> @@ -9148,6 +9333,7 @@ mpt3sas_scsih_reset_handler(struct MPT3SAS_ADAPTER
> *ioc, int reset_phase)
> !ioc->sas_hba.num_phys)) {
> _scsih_prep_device_scan(ioc);
> _scsih_search_responding_sas_devices(ioc);
> + _scsih_search_responding_pcie_devices(ioc);
> _scsih_search_responding_raid_devices(ioc);
> _scsih_search_responding_expanders(ioc);
> _scsih_error_recovery_delete_devices(ioc);
>
Again; when using 'scan_start()/scan_finished()' callbacks this will
probably look a bit differently...
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
4_to_cpu(pcie_device_pg0.WWID));
> + if (pcie_device) {
> + pcie_device_put(pcie_device);
> + continue;
> + }
> + retry_count = 0;
> + parent_handle = le16_to_cpu(pcie_device_pg0.P
sas_base.c | 30 ++-
> drivers/scsi/mpt3sas/mpt3sas_scsih.c | 471
> +++++-
> 2 files changed, 495 insertions(+), 6 deletions(-)
>
Reviewed-by: Hannes Reinecke <h...@suse.com>
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h
+++-
> 2 files changed, 495 insertions(+), 6 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409
S <suganath-prabu.subram...@broadcom.com>
> ---
> drivers/scsi/mpt3sas/mpt3sas_scsih.c | 148
> +-
> 1 files changed, 145 insertions(+), 3 deletions(-)
>
Reviewed-by: Hannes Reinecke <h...@suse.com>
Cheers,
Hannes
--
Dr. Hannes Rein
s/mpt3sas_scsih.c | 148
> +-
> 1 files changed, 145 insertions(+), 3 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de
ers/scsi/mpt3sas/mpt3sas_base.h | 10 +
> drivers/scsi/mpt3sas/mpt3sas_config.c | 100 +++
> drivers/scsi/mpt3sas/mpt3sas_scsih.c | 473
> ++++-
> 3 files changed, 575 insertions(+), 8 deletions(-)
>
Reviewed-by: Hannes Reinecke <h..
s/mpt3sas_config.c | 100 +++
> drivers/scsi/mpt3sas/mpt3sas_scsih.c | 473
> -
> 3 files changed, 575 insertions(+), 8 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@su
s_base.h |1 +
> drivers/scsi/mpt3sas/mpt3sas_ctl.c | 69
> ---
> 3 files changed, 119 insertions(+), 7 deletions(-)
>
Reviewed-by: Hannes Reinecke <h...@suse.com>
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networ
+---
> 3 files changed, 119 insertions(+), 7 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 9040
-)
>
Have you considered using 'scan_start()/scan_finished()' SCSI midlayer
callbacks here?
Seeing that you are enumerating the devices internally already that
should give you better control about the scanning process.
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage &
here?
Seeing that you are enumerating the devices internally already that
should give you better control about the scanning process.
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINU
On 07/14/2017 03:22 PM, Suganath Prabu S wrote:
> Update MPI Files for NVMe support
>
> Signed-off-by: Chaitra P B
> Signed-off-by: Suganath Prabu S
> ---
> drivers/scsi/mpt3sas/mpi/mpi2.h | 43 +++-
>
On 07/14/2017 03:22 PM, Suganath Prabu S wrote:
> Update MPI Files for NVMe support
>
> Signed-off-by: Chaitra P B
> Signed-off-by: Suganath Prabu S
> ---
> drivers/scsi/mpt3sas/mpi/mpi2.h | 43 +++-
> drivers/scsi/mpt3sas/mpi/mpi2_cnfg.h | 647
> +-
>
rics HBA), and expose the NVMe devices like any other NVMe HBA.
I'm sorry that you'll have to redo your patchset (again), but this is
the only way I see how this patchset can be brought forward.
I'd be happy to discuss implementation details with you.
Cheers,
Hannes
--
Dr. Hannes ReineckeTeaml
rics HBA), and expose the NVMe devices like any other NVMe HBA.
I'm sorry that you'll have to redo your patchset (again), but this is
the only way I see how this patchset can be brought forward.
I'd be happy to discuss implementation details with you.
Cheers,
Hannes
--
Dr. Hannes ReineckeTeaml
; Suggested-by: Doug Gilbert <dgilb...@interlog.com>
> Cc: Doug Gilbert <dgilb...@interlog.com>
> Cc: <sta...@vger.kernel.org>
> ---
> drivers/scsi/sg.c | 31 +------
> 1 file changed, 1 insertion(+), 30 deletions(-)
>
Reviewed-by: Hannes Re
t; Cc:
> ---
> drivers/scsi/sg.c | 31 +--
> 1 file changed, 1 insertion(+), 30 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 6
; static struct configfs_attribute *nvmet_subsys_attrs[] = {
> _subsys_attr_attr_allow_any_host,
> - _subsys_attr_version,
> + _subsys_attr_attr_version,
> NULL,
> };
>
>
Reviewed-by: Hannes Reinecke <h...@suse.com>
Cheers,
Hannes
--
Dr. Hannes ReineckeTeam
[] = {
> _subsys_attr_attr_allow_any_host,
> - _subsys_attr_version,
> + _subsys_attr_attr_version,
> NULL,
> };
>
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de
);
> sas_disc_wait_completion(child->port, DISCE_PROBE);
> + if (prev_lock)
> + mutex_lock(>port->ha->disco_mutex);
> } else {
> SAS_DPRINTK("target proto 0x%x at %016llx:0x%x not handled\n",
>
> } else {
> SAS_DPRINTK("target proto 0x%x at %016llx:0x%x not handled\n",
> phy->attached_tproto, SAS_ADDR(parent->sas_addr),
>
I would rather have an analysis if this really cannot happen; 'should
not' is rather vague. But se
wait_for_completion(>disc.disc_work[event].completion);
> + port->disc.disc_work[event].is_sync = false;
> + }
> +}
> +
> #ifdef CONFIG_SCSI_SAS_HOST_SMP
> extern int sas_smp_host_handler(struct Scsi_Host *shost, struct request *req,
>
_HOST_SMP
> extern int sas_smp_host_handler(struct Scsi_Host *shost, struct request *req,
> struct request *rsp);
> diff --git a/include/scsi/libsas.h b/include/scsi/libsas.h
> index 4bcb9fe..21e9fb140 100644
> --- a/include/scsi/libsas.h
> +++ b/include/scsi/libsas.h
> @@ -243,6 +243,8 @@ struct sas_discovery_event {
> struct sas_work work;
> struct asd_sas_port *port;
> enum discover_event type;
> + bool is_sync;
> + struct completion completion;
> };
>
> static inline struct sas_discovery_event *to_sas_discovery_event(struct
> work_struct *work)
>
Some comments as the earlier patch: please use DECLARE_COMPETION_ONSTACK
here.
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
n.j.willi...@intel.com>
> ---
> drivers/scsi/libsas/sas_discover.c | 13 -
> drivers/scsi/libsas/sas_init.c | 8
> include/scsi/libsas.h | 1 +
> 3 files changed, 21 insertions(+), 1 deletion(-)
>
Reviewed-by: Hannes Reinecke <h...@suse.com>
; 3 files changed, 21 insertions(+), 1 deletion(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendö
gt; + sas_port_wait_completion(port);
> sas_port_delete(port->port);
> port->port = NULL;
> } else {
I would rather use the standard on-stack completion here;
like this:
DECLARE_COMPLETION_ONSTACK(complete);
port->completion =
sas_unregister_domain_devices(port, gone);
wait_for_completion();
sas_port_delete(port->port);
which would simplify the above helpers to:
static inline void sas_port_put(struct asd_sas_port *port)
{
if (port->completion)
kref_put(>ref, sas_complete_event);
}
and you could do away with the 'is_sync' helper.
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
gt; + sas_port_wait_init(port);
> sas_unregister_domain_devices(port, gone);
> + sas_port_wait_completion(port);
> sas_port_delete(port->port);
> port->port = NULL;
> } else {
I wou
hat.com>
> CC: Dan Williams <dan.j.willi...@intel.com>
> ---
> drivers/scsi/libsas/sas_event.c | 4 ++--
> drivers/scsi/libsas/sas_init.c | 7 +++
> include/scsi/libsas.h | 1 +
> 3 files changed, 10 insertions(+), 2 deletions(-)
>
Reviewed-by: H
e/scsi/libsas.h | 1 +
> 3 files changed, 10 insertions(+), 2 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeld
ate: */
> - struct completion port_gone_completion;
> -
> struct sas_discovery disc;
> struct domain_device *port_dev;
> spinlock_t dev_list_lock;
>
Reviewed-by: Hannes Reinecke <h...@suse.com>
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Sto
completion port_gone_completion;
> -
> struct sas_discovery disc;
> struct domain_device *port_dev;
> spinlock_t dev_list_lock;
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de
faeed2..c41328d 100644
> --- a/include/scsi/libsas.h
> +++ b/include/scsi/libsas.h
> @@ -229,6 +229,8 @@ struct domain_device {
> struct sas_work {
> struct list_head drain_node;
> struct work_struct work;
> + struct list_head list;
> + bool used;
> };
>
T] = sas_porte_hard_reset,
> +};
> diff --git a/include/scsi/libsas.h b/include/scsi/libsas.h
> index cfaeed2..c41328d 100644
> --- a/include/scsi/libsas.h
> +++ b/include/scsi/libsas.h
> @@ -229,6 +229,8 @@ struct domain_device {
> struct sas_work {
>
SCSI_ACCESS_STATE_UNAVAILABLE ||
> + state == SCSI_ACCESS_STATE_STANDBY)
> + req->rq_flags |= RQF_QUIET;
> else if (state != SCSI_ACCESS_STATE_OPTIMAL &&
>state != SCSI_ACCESS_STATE_ACTIVE &&
>state !=
req->rq_flags |= RQF_QUIET;
> else if (state != SCSI_ACCESS_STATE_OPTIMAL &&
>state != SCSI_ACCESS_STATE_ACTIVE &&
>state != SCSI_ACCESS_STATE_LBA) {
>
NACK.
The whole _point_ of having device handlers is to _avoid_ I/O er
for that, he talked about
> that back at LSFMM earlier this year. Hannes?
>
Oh, I do.
hpsa is working happily on SLES for _all_ SmartArray controllers.
You need to enable 'hpsa_allow_any=1', though.
But I'm perfectly happy with making that the default and drop cciss
completely.
Cheers,
Hanne
for that, he talked about
> that back at LSFMM earlier this year. Hannes?
>
Oh, I do.
hpsa is working happily on SLES for _all_ SmartArray controllers.
You need to enable 'hpsa_allow_any=1', though.
But I'm perfectly happy with making that the default and drop cciss
completely.
Cheers,
Hanne
EV:
> case SG_DXFER_FROM_DEV:
> + if (hp->dxferp || hp->dxfer_len < 0)
> + return false;
> + return true;
> + case SG_DXFER_TO_DEV:
> case SG_DXFER_TO_FROM_DEV:
> if (!hp->dxferp || hp->dxfer_len ==
return false;
> + return true;
> + case SG_DXFER_TO_DEV:
> case SG_DXFER_TO_FROM_DEV:
> if (!hp->dxferp || hp->dxfer_len == 0)
> return false;
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes Reinecke
201 - 300 of 1903 matches
Mail list logo