--- diff/drivers/md/dm-mpath.c 2004-02-26 09:19:12.000000000 +0000 +++ source/drivers/md/dm-mpath.c 2004-02-25 16:31:23.000000000 +0000 @@ -69,6 +69,7 @@ struct multipath { spinlock_t lock; unsigned nr_valid_paths; + struct priority_group *current_group; struct path *current_path; unsigned current_count; --- diff/drivers/md/dm-path-selector.h 2004-02-23 13:56:43.000000000 +0000 +++ source/drivers/md/dm-path-selector.h 2004-02-25 16:27:49.000000000 +0000 @@ -41,6 +41,12 @@ typedef int (*ps_add_path_fn) (struct pa int argc, char **argv, char **error); /* + * This method will be called to prepare all the paths in this + * selector. + */ +typedef int (*ps_activate_fn) (struct path_selector *ps); + +/* * Chooses a path for this io, if no paths are available then * NULL will be returned. The selector may set the map_info * object if it wishes, this will be fed back into the endio fn. @@ -74,6 +80,7 @@ struct path_selector_type { ps_ctr_fn ctr; ps_dtr_fn dtr; + ps_activate_fn activate; ps_add_path_fn add_path; ps_fail_path_fn fail_path; ps_select_path_fn select_path;