On 03/06/2018 12:14 AM, Martin Wilck wrote: > This patch adds a simplified abstract interface to the multipath data structures. > The idea is to allow "foreign" data structures to be treated by libmultipath > if they implement the same interface. Currently, the intention is to use this > only to provide formatted output about from this interface. > > This interface assumes only that the data structure is organized in maps > containing path groups containing paths, and that formatted printing (using > the wildcards defined in libmultipath) is possible on each level of the data > structure. > > The patch also implements the interface for the internal dm_multipath data > structure. > > The style() method looks a bit exotic, but it's necessary because > print_multipath_topology() uses different formats depending on the mpp > properties. This needs to be in the generic interface, too, if we want to > produce identical output. > > Signed-off-by: Martin Wilck <mwilck@xxxxxxxx> > --- > libmultipath/Makefile | 2 +- > libmultipath/dm-generic.c | 70 ++++++++++++++++++++++++ > libmultipath/dm-generic.h | 41 ++++++++++++++ > libmultipath/generic.c | 39 +++++++++++++ > libmultipath/generic.h | 136 ++++++++++++++++++++++++++++++++++++++++++++++ > libmultipath/list.h | 4 ++ > libmultipath/print.c | 33 +++++++++++ > libmultipath/print.h | 12 ++++ > libmultipath/structs.c | 4 ++ > libmultipath/structs.h | 4 ++ > 10 files changed, 344 insertions(+), 1 deletion(-) > create mode 100644 libmultipath/dm-generic.c > create mode 100644 libmultipath/dm-generic.h > create mode 100644 libmultipath/generic.c > create mode 100644 libmultipath/generic.h > Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Cheers, Hannes -- Dr. Hannes Reinecke Teamlead Storage & Networking hare@xxxxxxx +49 911 74053 688 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton HRB 21284 (AG Nürnberg) -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel