---
libmultipath/dmparser.c | 9 +++++++++
1 file changed, 9 insertions(+)
Index: multipath-tools-130222/libmultipath/dmparser.c
===================================================================
--- multipath-tools-130222.orig/libmultipath/dmparser.c
+++ multipath-tools-130222/libmultipath/dmparser.c
@@ -360,6 +360,15 @@ disassemble_map (vector pathvec, char *
else if (!strlen(pp->wwid))
strncpy(pp->wwid, mpp->wwid, WWID_SIZE);
+ /*
+ * Something went wrong. Likely the user changed the
+ * path uid_attribute after creating a device
+ */
+ else if (strcmp(pp->wwid, mpp->wwid) != 0) {
+ condlog(0, "%s: path wwid appears to have changed. Using old wwid.\n", pp->dev_t);
+ strncpy(pp->wwid, mpp->wwid, WWID_SIZE);
+ }
+
pgp->id ^= (long)pp;
pp->pgindex = i + 1;