@@ -970,7 +970,7 @@ int coalesce_paths (struct vectors * vecs, vector newmp, char * refwwid,
continue;
/* If find_multipaths was selected check if the path is valid */
- if (!refwwid && !should_multipath(pp1, pathvec)) {
+ if (!refwwid && !should_multipath(pp1, pathvec, curmp)) {
orphan_path(pp1, "only one path");
continue;
}
@@ -271,7 +271,7 @@ out:
}
int
-should_multipath(struct path *pp1, vector pathvec)
+should_multipath(struct path *pp1, vector pathvec, vector mpvec)
{
int i, ignore_new_devs;
struct path *pp2;
@@ -12,7 +12,7 @@
"#\n" \
"# Valid WWIDs:\n"
-int should_multipath(struct path *pp, vector pathvec);
+int should_multipath(struct path *pp, vector pathvec, vector mpvec);
int remember_wwid(char *wwid);
int check_wwids_file(char *wwid, int write_wwid);
int remove_wwid(char *wwid);
@@ -699,7 +699,7 @@ rescan:
mpp->action = ACT_RELOAD;
extract_hwe_from_path(mpp);
} else {
- if (!should_multipath(pp, vecs->pathvec)) {
+ if (!should_multipath(pp, vecs->pathvec, vecs->mpvec)) {
orphan_path(pp, "only one path");
return 0;
}