libmultipath: print: convert API to generic data type
authorMartin Wilck <mwilck@suse.com>
Mon, 5 Mar 2018 23:14:57 +0000 (00:14 +0100)
committerChristophe Varoqui <christophe.varoqui@opensvc.com>
Wed, 7 Mar 2018 09:39:51 +0000 (10:39 +0100)
commit3d0084482051a3a430ee8dc3ba96aa3f4225f65f
tree1a679909ff42eac5098df339df3464687e759424
parent26a3ad26031a6909f9f0c281fd9c2dd694d78f34
libmultipath: print: convert API to generic data type

Convert higher level API (snprint_multipath_topology() etc) to
using the generic multipath API. This will allow "foreign"
multipath objects that implement the generic API to be printed
exactly like native multipathd objects.

The previous API (using "struct multipath*" and "struct path" remains
in place through macros mapping to the new functions. By doing this
and testing in regular setups, it's easily verified that the new
API works and produces the same results.

Moreover, abstract out the code to determine the output format from multipath
properties into snprint_multipath_style(), to be able to use it as generic
->style() method.

Signed-off-by: Martin Wilck <mwilck@suse.com>
libmultipath/configure.c
libmultipath/dm-generic.c
libmultipath/print.c
libmultipath/print.h
multipath/main.c
multipathd/cli_handlers.c