[dm-devel] Re: dm-multipath: del/add map problem

Benjamin Marzinski bmarzins at redhat.com
Tue Feb 21 22:39:06 UTC 2006


On Tue, Feb 21, 2006 at 03:38:05PM -0600, Benjamin Marzinski wrote:
> When you delete a multipath map, orphaning the path clears out some members
> of the path structure.  Adding that map again doesn't bring them back.
> Specifically, you loose your checker file descriptor.
> 
> The attached patch restores most of the members. It doesn't reset getuid.
> I don't see why that gets cleared in the first place?  Actually, I don't
> see why most of these get cleared, but I didn't look too hard, so I might
> just be missing the reason.
> 
> Note: I cannot get multipathd add the map if it doesn't already exist in
> device mapper, which I assume that I'm supposed to be able to do. To see
> this bug, I need to re-add the map with multipath before re-adding it in
> multipathd. I'll look into that right after I clean up my next patch.
> 
> -Ben

oops. Forgot to attach the patch. Here it is.
-------------- next part --------------
diff -urpN mp-devel-clean/libmultipath/structs_vec.c mp-devel-patched/libmultipath/structs_vec.c
--- mp-devel-clean/libmultipath/structs_vec.c	2006-02-17 16:07:19.000000000 -0600
+++ mp-devel-patched/libmultipath/structs_vec.c	2006-02-21 16:05:59.000000000 -0600
@@ -67,6 +67,7 @@ adopt_paths (vector pathvec, struct mult
 			if (!find_path_by_dev(mpp->paths, pp->dev) &&
 			    store_path(mpp->paths, pp))
 					return 1;
+			pathinfo(pp, conf->hwtable, DI_PRIO | DI_CHECKER);
 		}
 	}
 	return 0;


More information about the dm-devel mailing list