Message ID | 1510114215-11365-2-git-send-email-gavin.guo@canonical.com |
---|---|
State | New |
Headers | show |
Series | [SRU,X/Z/A] scsi: mptsas: Fixup device hotplug for VMWare ESXi | expand |
On 11/08/17 05:10, Gavin Guo wrote: > From: Hannes Reinecke <hare@suse.de> > > BugLink: http://bugs.launchpad.net/bugs/1730852 > > VMWare ESXi emulates an mptsas HBA, but exposes all drives as > direct-attached SAS drives. This it not how the driver originally > envisioned things; SAS drives were supposed to be connected via an > expander, and only SATA drives would be direct attached. As such, any > hotplug event for direct-attach SAS drives was silently ignored, and the > guest failed to detect new drives from within a VMWare ESXi environment. > > [mkp: typos] > > Bugzilla: https://bugzilla.suse.com/show_bug.cgi?id=1030850 > Signed-off-by: Hannes Reinecke <hare@suse.com> > Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> > (cherry picked from commit ee3e2d8392f695343d2fdfd43e881d14fb406d24) > Signed-off-by: Gavin Guo <gavin.guo@canonical.com> Clean cherry-pick, limited to a single driver and good test results. Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com> > --- > drivers/message/fusion/mptsas.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/drivers/message/fusion/mptsas.c b/drivers/message/fusion/mptsas.c > index 7ebccfa8072a..43415fecc0b0 100644 > --- a/drivers/message/fusion/mptsas.c > +++ b/drivers/message/fusion/mptsas.c > @@ -4351,11 +4351,10 @@ mptsas_hotplug_work(MPT_ADAPTER *ioc, struct fw_event_work *fw_event, > return; > > phy_info = mptsas_refreshing_device_handles(ioc, &sas_device); > - /* Only For SATA Device ADD */ > - if (!phy_info && (sas_device.device_info & > - MPI_SAS_DEVICE_INFO_SATA_DEVICE)) { > + /* Device hot plug */ > + if (!phy_info) { > devtprintk(ioc, printk(MYIOC_s_DEBUG_FMT > - "%s %d SATA HOT PLUG: " > + "%s %d HOT PLUG: " > "parent handle of device %x\n", ioc->name, > __func__, __LINE__, sas_device.handle_parent)); > port_info = mptsas_find_portinfo_by_handle(ioc, >
On 08.11.2017 05:10, Gavin Guo wrote: > From: Hannes Reinecke <hare@suse.de> > > BugLink: http://bugs.launchpad.net/bugs/1730852 > > VMWare ESXi emulates an mptsas HBA, but exposes all drives as > direct-attached SAS drives. This it not how the driver originally > envisioned things; SAS drives were supposed to be connected via an > expander, and only SATA drives would be direct attached. As such, any > hotplug event for direct-attach SAS drives was silently ignored, and the > guest failed to detect new drives from within a VMWare ESXi environment. > > [mkp: typos] > > Bugzilla: https://bugzilla.suse.com/show_bug.cgi?id=1030850 > Signed-off-by: Hannes Reinecke <hare@suse.com> > Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> > (cherry picked from commit ee3e2d8392f695343d2fdfd43e881d14fb406d24) > Signed-off-by: Gavin Guo <gavin.guo@canonical.com> Acked-by: Stefan Bader <stefan.bader@canonical.com> > --- > drivers/message/fusion/mptsas.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/drivers/message/fusion/mptsas.c b/drivers/message/fusion/mptsas.c > index 7ebccfa8072a..43415fecc0b0 100644 > --- a/drivers/message/fusion/mptsas.c > +++ b/drivers/message/fusion/mptsas.c > @@ -4351,11 +4351,10 @@ mptsas_hotplug_work(MPT_ADAPTER *ioc, struct fw_event_work *fw_event, > return; > > phy_info = mptsas_refreshing_device_handles(ioc, &sas_device); > - /* Only For SATA Device ADD */ > - if (!phy_info && (sas_device.device_info & > - MPI_SAS_DEVICE_INFO_SATA_DEVICE)) { > + /* Device hot plug */ > + if (!phy_info) { > devtprintk(ioc, printk(MYIOC_s_DEBUG_FMT > - "%s %d SATA HOT PLUG: " > + "%s %d HOT PLUG: " > "parent handle of device %x\n", ioc->name, > __func__, __LINE__, sas_device.handle_parent)); > port_info = mptsas_find_portinfo_by_handle(ioc, >
diff --git a/drivers/message/fusion/mptsas.c b/drivers/message/fusion/mptsas.c index 7ebccfa8072a..43415fecc0b0 100644 --- a/drivers/message/fusion/mptsas.c +++ b/drivers/message/fusion/mptsas.c @@ -4351,11 +4351,10 @@ mptsas_hotplug_work(MPT_ADAPTER *ioc, struct fw_event_work *fw_event, return; phy_info = mptsas_refreshing_device_handles(ioc, &sas_device); - /* Only For SATA Device ADD */ - if (!phy_info && (sas_device.device_info & - MPI_SAS_DEVICE_INFO_SATA_DEVICE)) { + /* Device hot plug */ + if (!phy_info) { devtprintk(ioc, printk(MYIOC_s_DEBUG_FMT - "%s %d SATA HOT PLUG: " + "%s %d HOT PLUG: " "parent handle of device %x\n", ioc->name, __func__, __LINE__, sas_device.handle_parent)); port_info = mptsas_find_portinfo_by_handle(ioc,