free_pathgroup() is always called with free_paths=KEEP_PATHS, except from free_pgvec(). Remove the argument.
Signed-off-by: Martin Wilck <[email protected]> Reviewed-by: Benjamin Marzinski <[email protected]> --- libmultipath/configure.c | 2 +- libmultipath/dmparser.c | 2 +- libmultipath/pgpolicies.c | 6 +++--- libmultipath/structs.c | 11 +++++------ libmultipath/structs.h | 2 +- libmultipath/structs_vec.c | 2 +- 6 files changed, 12 insertions(+), 13 deletions(-) diff --git a/libmultipath/configure.c b/libmultipath/configure.c index 2d324ad..a8e18a2 100644 --- a/libmultipath/configure.c +++ b/libmultipath/configure.c @@ -375,7 +375,7 @@ int setup_map(struct multipath *mpp, char **params, struct vectors *vecs) */ if (mpp->pg) { vector_foreach_slot (mpp->pg, pgp, i) - free_pathgroup(pgp, KEEP_PATHS); + free_pathgroup(pgp); vector_free(mpp->pg); mpp->pg = NULL; diff --git a/libmultipath/dmparser.c b/libmultipath/dmparser.c index c8c47e0..e0151ed 100644 --- a/libmultipath/dmparser.c +++ b/libmultipath/dmparser.c @@ -261,7 +261,7 @@ int disassemble_map(const struct vector_s *pathvec, goto out; if (add_pathgroup(mpp, pgp)) { - free_pathgroup(pgp, KEEP_PATHS); + free_pathgroup(pgp); goto out; } diff --git a/libmultipath/pgpolicies.c b/libmultipath/pgpolicies.c index 23ef2bd..d7302a9 100644 --- a/libmultipath/pgpolicies.c +++ b/libmultipath/pgpolicies.c @@ -252,7 +252,7 @@ int group_by_match(struct multipath * mp, vector paths, free(bitmap); return 0; out2: - free_pathgroup(pgp, KEEP_PATHS); + free_pathgroup(pgp); out1: free(bitmap); out: @@ -314,7 +314,7 @@ int one_path_per_group(struct multipath *mp, vector paths) } return 0; out1: - free_pathgroup(pgp, KEEP_PATHS); + free_pathgroup(pgp); out: free_pgvec(mp->pg, KEEP_PATHS); mp->pg = NULL; @@ -343,7 +343,7 @@ int one_group(struct multipath *mp, vector paths) /* aka multibus */ } return 0; out1: - free_pathgroup(pgp, KEEP_PATHS); + free_pathgroup(pgp); out: free_pgvec(mp->pg, KEEP_PATHS); mp->pg = NULL; diff --git a/libmultipath/structs.c b/libmultipath/structs.c index 08d8b87..a7c68f2 100644 --- a/libmultipath/structs.c +++ b/libmultipath/structs.c @@ -225,18 +225,17 @@ alloc_pathgroup (void) return pgp; } -void -free_pathgroup (struct pathgroup * pgp, enum free_path_mode free_paths) +void free_pathgroup(struct pathgroup *pgp) { if (!pgp) return; - free_pathvec(pgp->paths, free_paths); + free_pathvec(pgp->paths, KEEP_PATHS); free(pgp); } -void -free_pgvec (vector pgvec, enum free_path_mode free_paths) +void free_pgvec(vector pgvec, + enum free_path_mode free_paths __attribute__((unused))) { int i; struct pathgroup * pgp; @@ -245,7 +244,7 @@ free_pgvec (vector pgvec, enum free_path_mode free_paths) return; vector_foreach_slot (pgvec, pgp, i) - free_pathgroup(pgp, free_paths); + free_pathgroup(pgp); vector_free(pgvec); } diff --git a/libmultipath/structs.h b/libmultipath/structs.h index d89582c..796201a 100644 --- a/libmultipath/structs.h +++ b/libmultipath/structs.h @@ -578,7 +578,7 @@ void uninitialize_path(struct path *pp); void free_path (struct path *); void free_pathvec (vector vec, enum free_path_mode free_paths); void cleanup_pathvec_and_free_paths(vector *vec); -void free_pathgroup (struct pathgroup * pgp, enum free_path_mode free_paths); +void free_pathgroup(struct pathgroup *pgp); void free_pgvec (vector pgvec, enum free_path_mode free_paths); void free_multipath (struct multipath *, enum free_path_mode free_paths); void cleanup_multipath(struct multipath **pmpp); diff --git a/libmultipath/structs_vec.c b/libmultipath/structs_vec.c index 1259aec..91c8d58 100644 --- a/libmultipath/structs_vec.c +++ b/libmultipath/structs_vec.c @@ -254,7 +254,7 @@ static void update_pathvec_from_dm(vector pathvec, struct multipath *mpp, delete_pg: condlog(2, "%s: removing empty pathgroup %d", mpp->alias, i); vector_del_slot(mpp->pg, i--); - free_pathgroup(pgp, KEEP_PATHS); + free_pathgroup(pgp); must_reload = true; /* Invalidate pgindex for all other pathgroups */ pg_deleted = true; -- 2.52.0
