[dm-devel] RDAC path checker status change messages

Charlie Brady charlieb-dm-devel at budge.apana.org.au
Thu Jun 25 17:28:40 UTC 2009


On Thu, 25 Jun 2009, Charlie Brady wrote:

> On Thu, 25 Jun 2009, Charlie Brady wrote:
>
>>  I think I need to retract that. The messages appear to be printed when the
>>  status is not changing, at least for the "path down" messages.
>>
>>  I've patched scsi_dh_rdac.c so that SUN/LCSM100_I is included in
>>  rdac_dev_list[], and restarted iscsi and multipathd. I've now provoked a
>>  path failure via iptables. Here are the logs I see (with unpatched
>>  multipathd) - the duplicate message suppression from the rdac path checker
>>  is not working:
>
> OTOH, on path recovery, the wrong message is displayed ("path down" instead 
> of "path up") but the message is not repeated:

>From multipathd/main.c, there are three conditions where the messages are 
printed:

...
                         if (newstate != pp->state) {
                                 int oldstate = pp->state;
                                 pp->state = newstate;
                                 LOG_MSG(1, checker_message(&pp->checker));
...
                         }
                         else if (newstate == PATH_UP || newstate == PATH_GHOST) {
                                 LOG_MSG(4, checker_message(&pp->checker));
...
                         else if (newstate == PATH_DOWN)
                                 LOG_MSG(2, checker_message(&pp->checker));
...

I think only the first might be required, and only the first will be seen 
if logging verbosity < 2 (default is 2).

So there are two path checker problems I can see (in 
multipath-tools-0.4.7.rhel5.13):

- the rdac checker leaves the message set to "path down" when path
   transitions back to up or ghost.
- multipathd prints the message on every PATH_DOWN except the first when
   verbosity is >= 2, and on every PATH_UP or PATH_GHOST except the first
   when verbosity is >= 4.

---
Charlie




More information about the dm-devel mailing list