From: Benjamin Marzinski <bmarzins@redhat.com>
To: device-mapper development <dm-devel@redhat.com>
Subject: Re: Multipath blacklist exceptions issues
Date: Thu, 15 Nov 2007 13:24:28 -0600 [thread overview]
Message-ID: <20071115192428.GD4900@ether.msp.redhat.com> (raw)
In-Reply-To: <20071114.154456.71084719.k-ueda@ct.jp.nec.com>
On Wed, Nov 14, 2007 at 03:44:56PM -0500, Kiyoshi Ueda wrote:
>
> Why do you need to separate the first stage and the second stage?
> I don't think we need to separate them.
> I think the point is whether execute getuid callout or not.
> So we should need just 2 stages like below:
> (The keyword "pre_getuid_filter" is not so good, just a example.)
>
> ----------------------- /etc/multipath.conf -------------------------
> # First stage filter. Drop unneeded devices on this stage
> pre_getuid_filter {
> whitelist_driver "scsi|cciss"
> whitelist_device {
> vendor "IBM"
> model "S/390 DASD ECKD"
> }
> blacklist_driver "*"
> }
>
> # Second stage filter
> filter {
> blacklist_devnode "sda"
> whitelist_wwid "012345"
> blacklist_wwid "*"
> # only wwid filter may be enough in this stage
> }
> ---------------------------------------------------------------------
>
> ---------------------------- multipathd -----------------------------
> for_each_devnode in /sys/block {
> o gather all sysfs information including vendor and model
> o decide whether it is needed using the first stage filter
> (the matching rule is that first match is used)
> o store it in pathvec if needed
> }
>
> for_each_remained_devnode in pathvec {
> o run getuid callout
> o decide whether it should be used for map by the second stage filter
> (the matching rule is that first match is used)
> }
> ---------------------------------------------------------------------
>
> What do you think?
This method has a lot going for it. I like the ability to override the
default blacklisted drivers, even if it's almost never used, which you
couldn't do with an "invalid_drivers" section. I also like the finer
granularity on which devices to run the getuid callout on.
On the other hand, I agree with Stefan that there will be issues with
trying to gather the sysfs information for devices that just don't have
it. Like he said, you can ignore them, but I wonder if this might cause
problems for the rare, but still possible, case where you expect that
a device should properly provide all its sysfs information, but for some
reason, you can't get it. In this case the device would most likely be
silently ignored. Obviously, we can provide the information if you run
the commands with a higher verbosity.
The bigger issue I have is that there should be a way to tell multipath,
"Don't do anything." Many people have a multipath package installed on
their systems that they don't even know about, and they don't want it to
do anything. Right now, if you have
blacklist {
devnode ".*"
}
You pretty much get that behaviour. If anything on their system happens
to run the multipath command, nothing much really happens. With this
method, your adding more things that multipath has to do before if
realizes that it shouldn't be doing anything. Of course this could
easily be solved by adding the parameter to the defaults section of
multipath.conf.
defaults {
disable yes
}
This would allow multipath to quit immediately after reading the config
file, and it would seperate the choice to disable multipath from the
blacklist setup.
-Ben
> Thanks,
> Kiyoshi Ueda
>
> --
> dm-devel mailing list
> dm-devel@redhat.com
> https://www.redhat.com/mailman/listinfo/dm-devel
next prev parent reply other threads:[~2007-11-15 19:24 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-09 0:23 Multipath blacklist exceptions issues Benjamin Marzinski
2007-11-09 14:20 ` Stefan Bader
2007-11-09 20:20 ` Benjamin Marzinski
2007-11-09 23:20 ` Stefan Bader
2007-11-10 1:17 ` Christophe Varoqui
2007-11-13 21:21 ` Benjamin Marzinski
2007-11-10 1:48 ` Benjamin Marzinski
2007-11-11 0:25 ` Stefan Bader
2007-11-13 20:18 ` Benjamin Marzinski
2007-11-13 22:29 ` Kiyoshi Ueda
2007-11-13 23:17 ` Stefan Bader
2007-11-14 20:44 ` Kiyoshi Ueda
[not found] ` <5201e28f0711141411ue475f31qc4db61076479bd7e@mail.gmail.com>
[not found] ` <20071114.182842.97297202.k-ueda@ct.jp.nec.com>
2007-11-15 15:07 ` Stefan Bader
2007-11-15 15:57 ` Kiyoshi Ueda
2007-11-15 16:29 ` Kiyoshi Ueda
2007-11-15 19:24 ` Benjamin Marzinski [this message]
2007-11-15 20:42 ` Stefan Bader
2007-11-15 22:03 ` Kiyoshi Ueda
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=20071115192428.GD4900@ether.msp.redhat.com \
--to=bmarzins@redhat.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.