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@xxxxxxxxxx
> https://www.redhat.com/mailman/listinfo/dm-devel
>
>
>
--- 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));
}