multipathd: start marginal path checker thread lazily
authorMartin Wilck <mwilck@suse.com>
Tue, 6 Mar 2018 21:18:42 +0000 (22:18 +0100)
committerChristophe Varoqui <christophe.varoqui@opensvc.com>
Wed, 7 Mar 2018 09:42:29 +0000 (10:42 +0100)
commit160da9fa433943050d2ec05e1bbdd49aa6147a79
tree1a23ecf138d613a21b7f7b51f49f2f21ef5292d4
parentf835f438ee84018722f8fc9b7745632948a93e5d
multipathd: start marginal path checker thread lazily

I noticed that the io_error checker thread accounts for most of the
activity of multipathd even if the marginal path checking paramters
are not set (which is still the default in most installations I assume).

Therefore, start the io_error checker thread only if there's at least
one map with marginal error path checking configured. Also, make sure
the thread is really up when start_io_err_stat_thread() returns.

This requires adding a "vecs" argument to setup_map, because vecs
needs to be passed to the io_error checking code.

Signed-off-by: Martin Wilck <mwilck@suse.com>
libmultipath/configure.c
libmultipath/configure.h
libmultipath/io_err_stat.c
libmultipath/structs_vec.c
multipathd/cli_handlers.c
multipathd/main.c