From: Martin Wilck <martin.wilck@suse.com>
To: Benjamin Marzinski <bmarzins@redhat.com>, dm-devel@lists.linux.dev
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Subject: [PATCH 6/9] libmultipath: don't free mpp->paths in group_paths()
Date: Fri, 9 Jan 2026 19:39:04 +0100 [thread overview]
Message-ID: <20260109183907.201250-7-mwilck@suse.com> (raw)
In-Reply-To: <20260109183907.201250-1-mwilck@suse.com>
I'm not sure why we ever did this. We have update_mpp_paths() and
sync_paths() now, which make sure that mpp->paths and mpp->pg are
as synced as possible.
Signed-off-by: Martin Wilck <mwilck@suse.com>
---
libmultipath/pgpolicies.c | 2 --
tests/pgpolicy.c | 7 +++++--
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/libmultipath/pgpolicies.c b/libmultipath/pgpolicies.c
index 57b7485..92f84c7 100644
--- a/libmultipath/pgpolicies.c
+++ b/libmultipath/pgpolicies.c
@@ -158,8 +158,6 @@ int group_paths(struct multipath *mp, int marginal_pathgroups)
}
sort_pathgroups(mp);
out:
- vector_free(mp->paths);
- mp->paths = NULL;
return 0;
fail_marginal:
vector_free(normal);
diff --git a/tests/pgpolicy.c b/tests/pgpolicy.c
index aec16ec..a37aa8e 100644
--- a/tests/pgpolicy.c
+++ b/tests/pgpolicy.c
@@ -131,6 +131,8 @@ static int setup_null(void **state)
static int teardownX(struct multipath *mp)
{
+ vector_free(mp->paths);
+ mp->paths = NULL;
free_pgvec(mp->pg);
mp->pg = NULL;
return 0;
@@ -165,10 +167,9 @@ static void
verify_pathgroups(struct multipath *mp, struct path *pp, int **groups,
int *group_size, int *marginal, int size)
{
- int i, j;
+ int i, j, sum = 0;
struct pathgroup *pgp;
- assert_null(mp->paths);
assert_non_null(mp->pg);
assert_int_equal(VECTOR_SIZE(mp->pg), size);
for (i = 0; i < size; i++) {
@@ -176,6 +177,7 @@ verify_pathgroups(struct multipath *mp, struct path *pp, int **groups,
assert_non_null(pgp);
assert_non_null(pgp->paths);
assert_int_equal(VECTOR_SIZE(pgp->paths), group_size[i]);
+ sum += group_size[i];
if (marginal)
assert_int_equal(pgp->marginal, marginal[i]);
else
@@ -192,6 +194,7 @@ verify_pathgroups(struct multipath *mp, struct path *pp, int **groups,
assert_ptr_equal(pgp_path, pp_path);
}
}
+ assert_int_equal(sum, VECTOR_SIZE(mp->paths));
}
static void test_one_group8(void **state)
--
2.52.0
next prev parent reply other threads:[~2026-01-09 18:39 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-09 18:38 [PATCH 0/9] multipath-tools: more small fixes Martin Wilck
2026-01-09 18:38 ` [PATCH 1/9] libmultipath: reset pgindex in uninitialize_path() Martin Wilck
2026-01-09 18:39 ` [PATCH 2/9] libmultipath: clarify code in set_path_removed() Martin Wilck
2026-01-09 18:39 ` [PATCH 3/9] libmultipath: nullify pp->mpp before calling free_path() Martin Wilck
2026-01-09 18:39 ` [PATCH 4/9] libmultipath: log error when freeing path that refers to a map Martin Wilck
2026-01-09 18:39 ` [PATCH 5/9] libmultipath: sync_paths(): print message when fixing pp->mpp Martin Wilck
2026-01-09 18:39 ` Martin Wilck [this message]
2026-01-09 18:39 ` [PATCH 7/9] libmultipath: warn only once in scsi_tmo_error_msg() Martin Wilck
2026-01-09 18:39 ` [PATCH 8/9] libmultipath: find_hwe(): fix gcc errors at high optimization levels Martin Wilck
2026-01-09 18:39 ` [PATCH 9/9] multipath-tools: compile with -fno-strict-aliasing Martin Wilck
2026-01-13 20:56 ` [PATCH 0/9] multipath-tools: more small fixes Benjamin Marzinski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260109183907.201250-7-mwilck@suse.com \
--to=martin.wilck@suse.com \
--cc=bmarzins@redhat.com \
--cc=christophe.varoqui@opensvc.com \
--cc=dm-devel@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.