[dm-devel] multipath-tools libmultipath/structs_vec.c mul ...

bmarzins at sourceware.org bmarzins at sourceware.org
Thu Mar 26 03:28:10 UTC 2009


CVSROOT:	/cvs/dm
Module name:	multipath-tools
Branch: 	RHEL5_FC6
Changes by:	bmarzins at sourceware.org	2009-03-26 03:28:10

Modified files:
	libmultipath   : structs_vec.c 
	multipathd     : main.c 

Log message:
	Fix for bz #452897
	Make sure that multipath modifying a map doesn't clear out the map's hardware
	entry.  Not applicable to upstream.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/multipath-tools/libmultipath/structs_vec.c.diff?cvsroot=dm&only_with_tag=RHEL5_FC6&r1=1.1.2.3&r2=1.1.2.4
http://sourceware.org/cgi-bin/cvsweb.cgi/multipath-tools/multipathd/main.c.diff?cvsroot=dm&only_with_tag=RHEL5_FC6&r1=1.69.2.14&r2=1.69.2.15

--- multipath-tools/libmultipath/structs_vec.c	2008/09/04 20:09:48	1.1.2.3
+++ multipath-tools/libmultipath/structs_vec.c	2009/03/26 03:28:09	1.1.2.4
@@ -377,10 +377,16 @@
 		/*
 		 * see if path is in sysfs
 		 */
-		if (!pp->dev || sysfs_get_dev(sysfs_path,
-				  pp->dev, pp->dev_t, BLK_DEV_SIZE)) {
-			condlog(0, "%s: failed to access path %s", mpp->alias,
-				pp->dev ? pp->dev : pp->dev_t);
+		if (!(*pp->dev) ||
+		    sysfs_get_dev(sysfs_path, pp->dev, pp->dev_t,
+				  BLK_DEV_SIZE)) {
+			if (!(*pp->dev))
+				condlog(3,
+					"%s: removing path %s with no devname",
+					mpp->alias, pp->dev_t);
+			else
+				condlog(0, "%s: failed to access path %s",
+					mpp->alias, pp->dev);
 			count++;
 			vector_del_slot(mpp->paths, i);
 			i--;
--- multipath-tools/multipathd/main.c	2008/09/19 03:27:08	1.69.2.14
+++ multipath-tools/multipathd/main.c	2009/03/26 03:28:09	1.69.2.15
@@ -411,6 +411,7 @@
 			return 1; /* leave path added to pathvec */
 
 		verify_paths(mpp, vecs, NULL);
+		mpp->hwe = pp->hwe;
 		mpp->flush_on_last_del = FLUSH_UNDEF;
 		mpp->action = ACT_RELOAD;
 	}




More information about the dm-devel mailing list