multipathd logs a path checker message whenever state changes. But it also
logs every non-changed message when verbosity is >=4 and newstate is
PATH_UP or PATH_GHOST, and every non-changed message when verbosity is >= 2
and newstate is PATH_DOWN.
I believe that the message should only be logged, once, when state changes.

I disagree. If you look at the stuff that gets logged when verbosity >=
4, you'll see that it's a whole bunch of stuff that normal users would
never care about, but may be useful for debugging. This clearly fits.
I also think that having a path down is something that shouldn't just
blip by once in the logs. It's something that often requires the
sysadmin to intervene. I could see limitting it to, say, only happen
on every tenth pass through the checker loop, so that these messages
don't clog up the logs so bad. But since there is the option to set the
verbosity to 1 to avoid this, I think that printing the path down
messages repeatedly is useful.

Hmm.. What if you have 100 LUNs with four paths, meaning you get 400
messages saying: "Down! Down! Pants on fire!"