From 296439d80ce3820635fe2e62b472c2725cb66f79 Mon Sep 17 00:00:00 2001 From: Christophe Varoqui Date: Mon, 21 Nov 2005 17:25:25 +0100 Subject: [multipathd] DM configuration ground work #2 This patch enables DM configuration at multipathd startup. To achieve that simple goal, the following steps were necessary : - new libmultipath/structs_vec.[ch] exporting high level method working on [vectored] {path,multipath} structs : - set_no_path_retry - adopt_paths - orphan_paths - orphan_path - verify_paths - update_mpp_paths - setup_multipath - update_multipath_strings - remove_map - stop_waiter_thread_func *stop_waiter, int purge_vec); - remove_maps - add_map_without_path - add_map_with_path - teach coalesce_path() to use add_map_with_path() and verify_paths() - add a configure() function to the daemon - teach multipathd to coalesce its map vector after configuration - multipathd/main.c:reconfigure() restarts the configuration process Fixed 2 bugs in the implementation from Edward Goggin : - set mpp wwid before the binded alias lookup so that friendly names work - allocate a mpp->paths in adopt_paths() when mpp->pg is NULL and we must store a path there And fixed one long standing careless bug in all structs.c:find_*(). Being passed a NULL vector shortcuts the lookups now. --- multipathd/main.h | 6 ------ 1 file changed, 6 deletions(-) (limited to 'multipathd/main.h') diff --git a/multipathd/main.h b/multipathd/main.h index e1c5782..d5fa4b5 100644 --- a/multipathd/main.h +++ b/multipathd/main.h @@ -6,12 +6,6 @@ #define MAPGCINT 5 #define MAX_CHECKINT CHECKINT << 2 -struct vectors { - pthread_mutex_t *lock; - vector pathvec; - vector mpvec; -}; - int reconfigure (struct vectors *); int show_paths (char **, int *, struct vectors *); int show_maps (char **, int *, struct vectors *); -- cgit v1.2.3