[dm-devel] [PATCH 3/3] multipathd: ignore "disable_changed_wwids"

2019-03-18 Thread Martin Wilck
This option has no effect any more. Signed-off-by: Martin Wilck --- libmultipath/config.c | 1 - libmultipath/config.h | 1 - libmultipath/dict.c| 18 +++--- multipath/multipath.conf.5 | 8 ++-- 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a

[dm-devel] [PATCH 2/3] multipathd: remove "wwid_changed" path attribute

2019-03-18 Thread Martin Wilck
This is now not needed any more. Signed-off-by: Martin Wilck --- libmultipath/structs.h | 1 - multipathd/main.c | 6 -- 2 files changed, 7 deletions(-) diff --git a/libmultipath/structs.h b/libmultipath/structs.h index b794b0dc..7879d763 100644 --- a/libmultipath/structs.h +++ b/libmu

[dm-devel] [PATCH 0/3] New approach at handling changed WWIDs

2019-03-18 Thread Martin Wilck
Hi Ben, hi Christophe, after reviewing Ben's last patch set, I've been pondering over the handling of changed WWIDs, which seems to have become a bit too clever and complex for my taste, and I came up with this new approach instead. TL;DR: instead of treating paths with changed WWIDs as faulty, a

[dm-devel] [PATCH 1/3] multipathd: handle changed wwids by removal and addition

2019-03-18 Thread Martin Wilck
If a path's WWID changes, it's not necessarily failed. But it certainly has to be removed from an existing map, otherwise data corruption is imminent. Instead of keeping the path in the map, failing it, and remembering the "changed WWID" state, this patch simply removes and re-adds the path. If th

[dm-devel] [PATCH v3 03/10] libmultipath: alua: try to retrieve inquiry data from sysfs

2019-03-18 Thread Martin Wilck
This can avoid IO while configuring the path prioritizer. The alua prioritizer avoids reading from sysfs for a reason (see commit 7e2f46d3), but this applies only to RTPG / STPG, not to INQUIRY calls. Cc: steve.schrem...@netapp.com Cc: NetApp RDAC team Cc: Hannes Reinecke Signed-off-by: Martin W

[dm-devel] [PATCH v3 06/10] libmultipath: lazy tpgs probing

2019-03-18 Thread Martin Wilck
Provide a "getter" function that can be used to probe tpgs lazily. This way we don't need to send an RTPG in the pathinfo() call chain (e.g. in "multipath -u"). With this in place, no "user" code should access pp->tpgs directly any more. Moreover, in select_prio(), in the case where the alua check

[dm-devel] [PATCH v3 10/10] libmultipath: hwtable: add Lenovo DE series

2019-03-18 Thread Martin Wilck
I got this from Steven. Cc: steve.schrem...@netapp.com Cc: NetApp RDAC team Cc: xose.vazq...@gmail.com Signed-off-by: Martin Wilck --- libmultipath/hwtable.c | 20 1 file changed, 20 insertions(+) diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c index d3a8d9ba.

[dm-devel] [PATCH v3 02/10] libmultipath: alua: make API more consistent

2019-03-18 Thread Martin Wilck
Let all alua functions take "const struct path *" as first argument. Signed-off-by: Martin Wilck --- libmultipath/discovery.c | 4 ++-- libmultipath/prioritizers/alua.c | 4 ++-- libmultipath/prioritizers/alua_rtpg.c | 28 +-- libmultipath/prioritizers

[dm-devel] [PATCH v3 04/10] libmultipath: constify sysfs_get_timeout()

2019-03-18 Thread Martin Wilck
Signed-off-by: Martin Wilck --- libmultipath/discovery.c | 2 +- libmultipath/discovery.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libmultipath/discovery.c b/libmultipath/discovery.c index 6b4a420b..270dedc9 100644 --- a/libmultipath/discovery.c +++ b/libmultipath/di

[dm-devel] [PATCH v3 08/10] libmultipath: tidy up do_set_from_hwe() with statement expression

2019-03-18 Thread Martin Wilck
propsel.c has a lot of "funky" macros making assumptions about variable and label names in callers. This one is particularly ugly. As a first tidy-up step, split out a statement expression which can be called cleanly from code that doesn't have said variables and labels. Cc: Hannes Reinecke Signe

[dm-devel] [PATCH v3 07/10] libmultipath: don't link alua_rtpg.o twice

2019-03-18 Thread Martin Wilck
We link this already to libmultipath.so. Therefore, no need to link ti to libprioalua.so, too. Signed-off-by: Martin Wilck --- libmultipath/prioritizers/Makefile | 3 --- 1 file changed, 3 deletions(-) diff --git a/libmultipath/prioritizers/Makefile b/libmultipath/prioritizers/Makefile index 4

[dm-devel] [PATCH v3 05/10] libmultipath: detect_alua(): use system timeout

2019-03-18 Thread Martin Wilck
This is not the path checker - we don't need to use the configured checker timeout here. This makes it possible to call this function without a current (struct config *). Signed-off-by: Martin Wilck --- libmultipath/discovery.c | 9 ++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff

[dm-devel] [PATCH v3 01/10] libmultipath: add sysfs_get_inquiry()

2019-03-18 Thread Martin Wilck
Provide a utility function to retrieve inquiry data from sysfs, like we do for VPDs. Signed-off-by: Martin Wilck --- libmultipath/discovery.c | 23 ++- libmultipath/discovery.h | 6 -- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/libmultipath/discovery

[dm-devel] [PATCH v3 00/10] multipath-tools: avoid I/O during uevent processing

2019-03-18 Thread Martin Wilck
Hi Christophe, hi Ben, the bulk of this series attempts to avoid unnecessary I/O for "multipath -u" calls from udev rules. I came up with it in a recent attempt to debug avoid "multipath -u" hangups during boot. I found that the detect_alua() call in the get_refwwid->pathinfo->scsi_ioctl_pathinfo

[dm-devel] [PATCH v3 09/10] libmultipath: check_rdac(): pre-check in hwtable

2019-03-18 Thread Martin Wilck
Currently check_rdac() always runs an SG_IO for VPD 0xc9 to check if the storage supports RDAC. This is an extra IO, and may cause annoying error messages on the storage side for non-RDAC arrays. Do not use the RDAC override for arrays that have legacy configuration to use a checker other than "rda

Re: [dm-devel] [PATCH v2 8/9] libmultipath: check_rdac(): pre-check in hwtable

2019-03-18 Thread Martin Wilck
On Mon, 2019-03-18 at 10:52 +0100, Martin Wilck wrote: > On Mon, 2019-03-18 at 08:10 +0100, Hannes Reinecke w > > *origin? dummy for do_set_from_hwe()? > > What funky interface is that? > > > > Please redesign do_set_from_hwe() so as _not_ to require 'magic' > > variables. > > It's the truly "fun

Re: [dm-devel] [PATCH v2 8/9] libmultipath: check_rdac(): pre-check in hwtable

2019-03-18 Thread Martin Wilck
On Mon, 2019-03-18 at 08:10 +0100, Hannes Reinecke wrote: > On 3/15/19 6:19 PM, Martin Wilck wrote: > > Currently check_rdac() always runs an SG_IO for VPD 0xc9 to check > > if the storage supports RDAC. This is an extra IO, and may cause > > annoying error messages on the storage side for non-RDAC

Re: [dm-devel] [PATCH v2 3/9] libmultipath: alua: try to retrieve inquiry data from sysfs

2019-03-18 Thread Martin Wilck
On Mon, 2019-03-18 at 08:08 +0100, Hannes Reinecke wrote: > On 3/15/19 6:19 PM, Martin Wilck wrote: > > This can avoid IO while configuring the path prioritizer. > > The alua prioritizer avoids reading from sysfs for a reason > > (see commit 7e2f46d3), but this applies only to RTPG / STPG, > > not

Re: [dm-devel] [PATCH v2 01/12] libmultipath: disable user_friendly_names for NetApp

2019-03-18 Thread Martin Wilck
On Sun, 2019-03-17 at 16:04 +0100, Xose Vazquez Perez wrote: > On 3/9/19 12:11 AM, Benjamin Marzinski wrote: > > > NetApp has tools that rely on devices using WWID names. To avoid > > breaking these, NetApp devices should continue to use WWID names, > > even > > if the default config is set to ena

Re: [dm-devel] [PATCH] multipath-tools: reorder vendors in hwtable

2019-03-18 Thread Martin Wilck
On Sun, 2019-03-17 at 00:04 +0100, Xose Vazquez Perez wrote: > On 12/21/18 12:51 AM, Martin Wilck wrote: > > On Wed, 2018-12-19 at 22:23 +0100, Xose Vazquez Perez wrote: > > > Xio was acquired by Violin, and add FlashSystem 9100 to Storwize > > > in > > > comments. > > > > > > Cc: Christophe Varoq

Re: [dm-devel] [PATCH 9/9] libmultipath: hwtable: add Lenovo DE series

2019-03-18 Thread Schremmer, Steven
> +/* > + * Lenovo > + */ > +{ > +/* > +* DE Series > +* > +* Maintainer: Steve Schremmer > +*/ > +.vendor= "LENOVO", > +.product = "DE_Seri

Re: [dm-devel] [PATCH v2 8/9] libmultipath: check_rdac(): pre-check in hwtable

2019-03-18 Thread Hannes Reinecke
On 3/15/19 6:19 PM, Martin Wilck wrote: Currently check_rdac() always runs an SG_IO for VPD 0xc9 to check if the storage supports RDAC. This is an extra IO, and may cause annoying error messages on the storage side for non-RDAC arrays. Do the RDAC override only for arrays that have legacy configu

Re: [dm-devel] [PATCH v2 3/9] libmultipath: alua: try to retrieve inquiry data from sysfs

2019-03-18 Thread Hannes Reinecke
On 3/15/19 6:19 PM, Martin Wilck wrote: This can avoid IO while configuring the path prioritizer. The alua prioritizer avoids reading from sysfs for a reason (see commit 7e2f46d3), but this applies only to RTPG / STPG, not to INQUIRY calls. Cc: steve.schrem...@netapp.com Cc: NetApp RDAC team Cc