Use the "foreign" code to print information about multipath maps owned by foreign libraries in print mode (multipath -ll, -l). Signed-off-by: Martin Wilck <mwilck@xxxxxxxx> --- multipath/main.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/multipath/main.c b/multipath/main.c index a0c750e6f623..4fae49ee4325 100644 --- a/multipath/main.c +++ b/multipath/main.c @@ -59,6 +59,7 @@ #include "wwids.h" #include "uxsock.h" #include "mpath_cmd.h" +#include "foreign.h" int logsink; struct udev *udev; @@ -257,6 +258,14 @@ get_dm_mpvec (enum mpath_cmds cmd, vector curmp, vector pathvec, char * refwwid) if (cmd == CMD_CREATE) reinstate_paths(mpp); } + + if (cmd == CMD_LIST_SHORT || cmd == CMD_LIST_LONG) { + struct config *conf = get_multipath_config(); + + print_foreign_topology(conf->verbosity); + put_multipath_config(conf); + } + return 0; } @@ -460,6 +469,7 @@ configure (struct config *conf, enum mpath_cmds cmd, print_all_paths(pathvec, 1); get_path_layout(pathvec, 0); + foreign_path_layout(); if (get_dm_mpvec(cmd, curmp, pathvec, refwwid)) goto out; @@ -817,6 +827,8 @@ main (int argc, char *argv[]) condlog(0, "failed to initialize prioritizers"); goto out; } + /* Failing here is non-fatal */ + init_foreign(conf->multipath_dir); if (cmd == CMD_USABLE_PATHS) { r = check_usable_paths(conf, dev, dev_type); goto out; @@ -892,6 +904,7 @@ out: dm_lib_release(); dm_lib_exit(); + cleanup_foreign(); cleanup_prio(); cleanup_checkers(); -- 2.16.1 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel