multipath: Check blacklists as soon as possible
authorBenjamin Marzinski <bmarzins@redhat.com>
Sat, 12 Jan 2013 06:04:53 +0000 (00:04 -0600)
committerChristophe Varoqui <christophe.varoqui@opensvc.com>
Sat, 12 Jan 2013 12:39:16 +0000 (13:39 +0100)
commit881c56fe7b7b324e9239e3cf0944d92af336653f
tree194d4b505b161add911b549beb04779de24cff91
parente546687e046b1eb1cbe5567e9d7850cbbd682dba
multipath: Check blacklists as soon as possible

Multipath does a lot of unnecessary work on devices blacklisted by device
type or wwid before ignoring them.  When dealing with a large number of
devices blacklisted this way, multipath can take long time to complete.
The patch makes sure that multipath is checking the blacklists as soon
as it has the necessary information to do so. To do this, pathinfo() now
takes another flag DI_BLACKLIST, which is only used by store_pathinfo(),
that tells it to check if the device should be blacklisted. Doing this
cleanly also required changing how store_pathinfo() and rlookup_binding()
are called.

Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
libmultipath/alias.c
libmultipath/alias.h
libmultipath/configure.c
libmultipath/configure.h
libmultipath/discovery.c
libmultipath/discovery.h
libmultipath/util.c
multipath/main.c
multipathd/cli_handlers.c
multipathd/main.c