[dm-devel] failed multipaths are never re-validated

Michael Christie michaelc at cs.wisc.edu
Wed Jun 2 05:36:20 UTC 2004


On Tue, 1 Jun 2004, Mike Christie wrote:

> > At this point, has multipathd retested the paths, or are you hoping that
> > the loop up event will trigger the multipathd?
>
> The behaviour I was expecting was for multipathd to prediodically poll all
> the paths, find that the failed paths were now good, and activate them.
>
> Looking in the deamon log files, multipathd catches when the path fails,
> but never notices when they come back.
>
> May 28 15:17:17 ia64g /usr/bin/multipathd: [event thread] event caught
> May 28 15:17:17 ia64g /usr/bin/multipathd: [event thread] refresh
> devmaps list
> May 28 15:17:17 ia64g /usr/bin/multipathd: [event thread] refresh
> failpaths list
> May 28 15:17:19 ia64g /usr/bin/multipathd: [checker thread] reconfigure
> 600508b40001045d0001c00006de0000
> May 28 15:17:49 ia64g last message repeated 6 times
> May 28 15:18:49 ia64g last message repeated 12 times
> May 28 15:18:59 ia64g last message repeated 2 times
> etc
>
>
> > is possible today (see below), but once the multipathd tests the paths
> > they should readded to the multipath device. Does the retesting part not
> >   work too?
>
> Correct the retesting does not work. I'm not sure where it is falling
> over;  if looking at the san switch, the machine is definately sending
> packets out onto both fabric aprox. every 5 seconds. My guess is that
> activity is multipathd probing the paths.
>
>

I was hitting the same bug. Here is a patch that correctly clears out the
currpath structure, and fixes things.

But there is a tiny bug remaining when using the qla2xxx driver it will
set the host byte but when you do sg io to a /dev/sdX (vs /dev/sgX) entry
the block/scsi_ioctl.c sgio does not pass these errors up. So you end up
with a device like this:

dmsetup deps

00000000000000000000000000000000: 4 dependencies        : (8, 144) (8,
128) (8, 112) (8, 96)



> Guy
>
> --
> Guy Coates,  Informatics System Group
> The Wellcome Trust Sanger Institute, Hinxton, Cambridge, CB10 1SA, UK
> Tel: +44 (0)1223 834244 ex 7199
>
>
> --
> dm-devel mailing list
> dm-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/dm-devel
>
>
>
-------------- next part --------------
--- multipath-tools-0.2.0/multipath/main.c	2004-05-13 09:16:18.000000000 -0700
+++ multipath-tools-0.2.0-test/multipath/main.c	2004-06-01 15:26:04.991727784 -0700
@@ -196,7 +196,7 @@ get_all_paths_sysfs (struct env * conf, 
 			return 0;
 
 		strcpy (refwwid, curpath.wwid);
-		memset (&curpath, 0, sizeof (path));
+		memset (&curpath, 0, sizeof (struct path));
 	}
 
 	/* if major/minor specified on the cmd line,
@@ -212,7 +212,7 @@ get_all_paths_sysfs (struct env * conf, 
 			return 0;
 
 		strcpy (refwwid, curpath.wwid);
-		memset (&curpath, 0, sizeof (path));
+		memset (&curpath, 0, sizeof (struct path));
 	}
 		
 


More information about the dm-devel mailing list