From: Martin Wilck <mwilck@suse.com>
To: dm-devel@redhat.com
Subject: Re: [PATCH 10/14] libmultipath: hwtable: multibus for NetApp NVMe-FC
Date: Sat, 13 Jan 2018 14:03:49 +0100 [thread overview]
Message-ID: <1515848629.9823.10.camel@suse.com> (raw)
In-Reply-To: <0e9bf2af-d2ff-7f02-321c-665258c9f00f@gmail.com>
On Sat, 2018-01-13 at 00:42 +0100, Xose Vazquez Perez wrote:
> On 01/12/2018 11:07 PM, Martin Wilck wrote:
>
> > Use multibus policy for NetApp NVMe-FC namespace controllers.
> >
> > Signed-off-by: Martin Wilck <mwilck@suse.com>
> > ---
> > libmultipath/hwtable.c | 13 +++++++++++++
> > 1 file changed, 13 insertions(+)
> >
> > diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
> > index 40c4724fcd1b..bae280c835e6 100644
> > --- a/libmultipath/hwtable.c
> > +++ b/libmultipath/hwtable.c
> > @@ -1142,6 +1142,19 @@ static struct hwentry default_hw[] = {
> > .checker_name = NONE,
> > .retain_hwhandler = RETAIN_HWHANDLER_OFF,
> > },
> > + /*
> > + * NetApp NVMe-FC namespace devices: MULTIBUS preferred
> > + *
> > + * The table is searched backwards, so place this after
> > generic NVMe
>
> Too tricky.
Sorry? This is just utilizing the logic we've implemented in find_hwe()
to let user-specified entries override built-in ones. Nothing "tricky"
about it. Please read the code. I just added that comment there because
the way libmultipath handles this (generic entries first, specific
later) is a bit unusual - casual readers might think the ordering is
wrong, which it is not.
>
> > + */
> > + {
> > + .vendor = "NVME",
> > + .product = "(NetApp |)ONTAP Controller)",
>
> ^^ Is this correct?
What do you mean? It's correct posix regexp syntax. And AFAIK it's also
the correct expression to identify the controllers in question.
> > + .uid_attribute = "ID_WWN",
> > + .checker_name = NONE,
> > + .pgpolicy = MULTIBUS,
> > + .retain_hwhandler = RETAIN_HWHANDLER_OFF,
> > + },
>
> Place it inside NetApp vendor entry, and remove:
> /*
> * Generic NVMe devices
> */
> {
> .vendor = "NVME",
> .product = ".*",
> .uid_attribute = "ID_WWN",
> .checker_name = NONE,
> .retain_hwhandler = RETAIN_HWHANDLER_OFF,
> },
That won't work. The NetApp vendor entry uses '.vendor = "NETAPP"',
while this device has '.vendor = "NVME"'.
And sorry again, the generic entry needs to stay in place. All NVMe
controllers we know expect to be configured with the default "failover"
policy. The "ONTAP controller" is the first exception to this rule.
More may be added later. As explained earlier, because of the backward-
search logic in find_hwe(), specific entries need to be listed *after*
generic entries.
If it's important for you to have this Netapp specific entry in the
section commented "NetApp": that can be done, if we move the generic
NVMe entry to the top of hwtable.c. I personally don't care. I
Martin
--
Dr. Martin Wilck <mwilck@suse.com>, Tel. +49 (0)911 74053 2107
SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
next prev parent reply other threads:[~2018-01-13 13:03 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-12 22:07 [PATCH 00/14] Various multipath-tools fixes Martin Wilck
2018-01-12 22:07 ` [PATCH 01/14] multipathd daemon: Fix incorrect use of CLOCK_MONOTONIC in pthread Martin Wilck
2018-01-12 22:07 ` [PATCH 02/14] libmultipath: don't try to set hwhandler if it is retained Martin Wilck
2018-01-12 22:07 ` [PATCH 03/14] multipath: delegate dangerous commands to multipathd Martin Wilck
2018-01-12 22:07 ` [PATCH 04/14] libmultipath: condlog: log to stderr Martin Wilck
2018-01-12 22:07 ` [PATCH 05/14] libmultipath: fix return code of sysfs_get_timeout Martin Wilck
2018-01-12 22:07 ` [PATCH 06/14] libmultipath: fix return code of sgio_get_vpd() Martin Wilck
2018-01-12 22:07 ` [PATCH 07/14] libmultipath: sgio_get_vpd: add page argument Martin Wilck
2018-01-12 22:07 ` [PATCH 08/14] libmultipath: get_vpd_sgio: support VPD 0xc9 Martin Wilck
2018-01-12 22:07 ` [PATCH 09/14] libmultipath: select ALUA prioritizer for RDAC arrays only Martin Wilck
2018-01-12 22:07 ` [PATCH 10/14] libmultipath: hwtable: multibus for NetApp NVMe-FC Martin Wilck
2018-01-12 23:42 ` Xose Vazquez Perez
2018-01-13 13:03 ` Martin Wilck [this message]
2018-01-12 22:07 ` [PATCH 11/14] multipath -C: decrease log level Martin Wilck
2018-01-12 22:07 ` [PATCH 12/14] kpartx.rules: fix by-id/scsi-* for user_friendly_names Martin Wilck
2018-01-12 22:07 ` [PATCH 13/14] multipathd.socket: add WantedBy=sockets.target Martin Wilck
2018-01-12 22:07 ` [PATCH 14/14] multipathd.service: drop Before=lvm2-lvmetad.service Martin Wilck
2018-01-12 23:52 ` [PATCH 00/14] Various multipath-tools fixes Xose Vazquez Perez
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1515848629.9823.10.camel@suse.com \
--to=mwilck@suse.com \
--cc=dm-devel@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.