diff mbox

[2/4] multipath-tools: replace GROUP_BY_SERIAL with MULTIBUS for IBM 3542 and 2105

Message ID 1471543096-11441-2-git-send-email-xose.vazquez@gmail.com (mailing list archive)
State Not Applicable, archived
Delegated to: christophe varoqui
Headers show

Commit Message

Xose Vazquez Perez Aug. 18, 2016, 5:58 p.m. UTC
It doesn't make any sense to have, by default, GROUP_BY_SERIAL in real hardware.

Cc: Hannes Reinecke <hare@suse.de>
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
---
 libmultipath/hwtable.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Christophe Varoqui Oct. 3, 2016, 11:02 a.m. UTC | #1
Hi Xose,

Group by serial sure can make sense for hardware not capable of multibus.

Can you or Hannes (listed as maintainer for IBM) confirm the concerned IBM
arrays are multibus capable ?

Best regards,
Christophe Varoqui
OpenSVC

On Thu, Aug 18, 2016 at 7:58 PM, Xose Vazquez Perez <xose.vazquez@gmail.com>
wrote:

> It doesn't make any sense to have, by default, GROUP_BY_SERIAL in real
> hardware.
>
> Cc: Hannes Reinecke <hare@suse.de>
> Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
> Cc: device-mapper development <dm-devel@redhat.com>
> Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
> ---
>  libmultipath/hwtable.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
> index aa3ea9b..72b5e1d 100644
> --- a/libmultipath/hwtable.c
> +++ b/libmultipath/hwtable.c
> @@ -443,7 +443,7 @@ static struct hwentry default_hw[] = {
>                 /* DS4200 / FAStT200 */
>                 .vendor        = "IBM",
>                 .product       = "^3542",
> -               .pgpolicy      = GROUP_BY_SERIAL,
> +               .pgpolicy      = MULTIBUS,
>                 .pgfailback    = FAILBACK_UNDEF,
>         },
>         {
> @@ -451,7 +451,7 @@ static struct hwentry default_hw[] = {
>                 .vendor        = "IBM",
>                 .product       = "^2105",
>                 .no_path_retry = NO_PATH_RETRY_QUEUE,
> -               .pgpolicy      = GROUP_BY_SERIAL,
> +               .pgpolicy      = MULTIBUS,
>                 .pgfailback    = FAILBACK_UNDEF,
>         },
>         {
> --
> 2.7.4
>
>
--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
Hannes Reinecke Oct. 3, 2016, 11:54 a.m. UTC | #2
On 10/03/2016 01:02 PM, Christophe Varoqui wrote:
> Hi Xose,
> 
> Group by serial sure can make sense for hardware not capable of multibus.
> 
> Can you or Hannes (listed as maintainer for IBM) confirm the concerned
> IBM arrays are multibus capable ?
> 
> Best regards,
> Christophe Varoqui
> OpenSVC
> 
> On Thu, Aug 18, 2016 at 7:58 PM, Xose Vazquez Perez
> <xose.vazquez@gmail.com <mailto:xose.vazquez@gmail.com>> wrote:
> 
>     It doesn't make any sense to have, by default, GROUP_BY_SERIAL in
>     real hardware.
> 
>     Cc: Hannes Reinecke <hare@suse.de <mailto:hare@suse.de>>
>     Cc: Christophe Varoqui <christophe.varoqui@opensvc.com
>     <mailto:christophe.varoqui@opensvc.com>>
>     Cc: device-mapper development <dm-devel@redhat.com
>     <mailto:dm-devel@redhat.com>>
>     Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com
>     <mailto:xose.vazquez@gmail.com>>
>     ---
>      libmultipath/hwtable.c | 4 ++--
>      1 file changed, 2 insertions(+), 2 deletions(-)
> 
>     diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
>     index aa3ea9b..72b5e1d 100644
>     --- a/libmultipath/hwtable.c
>     +++ b/libmultipath/hwtable.c
>     @@ -443,7 +443,7 @@ static struct hwentry default_hw[] = {
>                     /* DS4200 / FAStT200 */
>                     .vendor        = "IBM",
>                     .product       = "^3542",
>     -               .pgpolicy      = GROUP_BY_SERIAL,
>     +               .pgpolicy      = MULTIBUS,
>                     .pgfailback    = FAILBACK_UNDEF,
>             },
This is the IBM FAStT 200, which is IIRC an RDAC machine. So multibus
will be wrong here, and it should be using the RDAC entry instead.

>             {
>     @@ -451,7 +451,7 @@ static struct hwentry default_hw[] = {
>                     .vendor        = "IBM",
>                     .product       = "^2105",
>                     .no_path_retry = NO_PATH_RETRY_QUEUE,
>     -               .pgpolicy      = GROUP_BY_SERIAL,
>     +               .pgpolicy      = MULTIBUS,
>                     .pgfailback    = FAILBACK_UNDEF,
>             },
>             {
That's the old IBM ESS 800; this is a fully symmetric active-active
array. So yes, multibus is correct here.

Cheers,

Hannes
Christophe Varoqui Oct. 3, 2016, 12:06 p.m. UTC | #3
Thanks.
Patch pushed.

On Mon, Oct 3, 2016 at 1:54 PM, Hannes Reinecke <hare@suse.de> wrote:

> On 10/03/2016 01:02 PM, Christophe Varoqui wrote:
> > Hi Xose,
> >
> > Group by serial sure can make sense for hardware not capable of multibus.
> >
> > Can you or Hannes (listed as maintainer for IBM) confirm the concerned
> > IBM arrays are multibus capable ?
> >
> > Best regards,
> > Christophe Varoqui
> > OpenSVC
> >
> > On Thu, Aug 18, 2016 at 7:58 PM, Xose Vazquez Perez
> > <xose.vazquez@gmail.com <mailto:xose.vazquez@gmail.com>> wrote:
> >
> >     It doesn't make any sense to have, by default, GROUP_BY_SERIAL in
> >     real hardware.
> >
> >     Cc: Hannes Reinecke <hare@suse.de <mailto:hare@suse.de>>
> >     Cc: Christophe Varoqui <christophe.varoqui@opensvc.com
> >     <mailto:christophe.varoqui@opensvc.com>>
> >     Cc: device-mapper development <dm-devel@redhat.com
> >     <mailto:dm-devel@redhat.com>>
> >     Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com
> >     <mailto:xose.vazquez@gmail.com>>
> >     ---
> >      libmultipath/hwtable.c | 4 ++--
> >      1 file changed, 2 insertions(+), 2 deletions(-)
> >
> >     diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
> >     index aa3ea9b..72b5e1d 100644
> >     --- a/libmultipath/hwtable.c
> >     +++ b/libmultipath/hwtable.c
> >     @@ -443,7 +443,7 @@ static struct hwentry default_hw[] = {
> >                     /* DS4200 / FAStT200 */
> >                     .vendor        = "IBM",
> >                     .product       = "^3542",
> >     -               .pgpolicy      = GROUP_BY_SERIAL,
> >     +               .pgpolicy      = MULTIBUS,
> >                     .pgfailback    = FAILBACK_UNDEF,
> >             },
> This is the IBM FAStT 200, which is IIRC an RDAC machine. So multibus
> will be wrong here, and it should be using the RDAC entry instead.
>
> >             {
> >     @@ -451,7 +451,7 @@ static struct hwentry default_hw[] = {
> >                     .vendor        = "IBM",
> >                     .product       = "^2105",
> >                     .no_path_retry = NO_PATH_RETRY_QUEUE,
> >     -               .pgpolicy      = GROUP_BY_SERIAL,
> >     +               .pgpolicy      = MULTIBUS,
> >                     .pgfailback    = FAILBACK_UNDEF,
> >             },
> >             {
> That's the old IBM ESS 800; this is a fully symmetric active-active
> array. So yes, multibus is correct here.
>
> Cheers,
>
> Hannes
> --
> Dr. Hannes Reinecke                   zSeries & Storage
> hare@suse.de                          +49 911 74053 688
> SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
> GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
>
--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
Xose Vazquez Perez Oct. 3, 2016, 1:04 p.m. UTC | #4
On 10/03/2016 02:06 PM, Christophe Varoqui wrote:

> Thanks.
> Patch pushed.

>     >                     /* DS4200 / FAStT200 */
>     >                     .vendor        = "IBM",
>     >                     .product       = "^3542",
>     >     -               .pgpolicy      = GROUP_BY_SERIAL,
>     >     +               .pgpolicy      = MULTIBUS,
>     >                     .pgfailback    = FAILBACK_UNDEF,
>     >             },
>     This is the IBM FAStT 200, which is IIRC an RDAC machine. So multibus
>     will be wrong here, and it should be using the RDAC entry instead.

A patch is needed also in the kernel side(drivers/scsi/scsi_dh.c).

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
diff mbox

Patch

diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
index aa3ea9b..72b5e1d 100644
--- a/libmultipath/hwtable.c
+++ b/libmultipath/hwtable.c
@@ -443,7 +443,7 @@  static struct hwentry default_hw[] = {
 		/* DS4200 / FAStT200 */
 		.vendor        = "IBM",
 		.product       = "^3542",
-		.pgpolicy      = GROUP_BY_SERIAL,
+		.pgpolicy      = MULTIBUS,
 		.pgfailback    = FAILBACK_UNDEF,
 	},
 	{
@@ -451,7 +451,7 @@  static struct hwentry default_hw[] = {
 		.vendor        = "IBM",
 		.product       = "^2105",
 		.no_path_retry = NO_PATH_RETRY_QUEUE,
-		.pgpolicy      = GROUP_BY_SERIAL,
+		.pgpolicy      = MULTIBUS,
 		.pgfailback    = FAILBACK_UNDEF,
 	},
 	{