[dm-devel] curious why waitevent sets event_nr field of event_thread struct from kernel every time.

goggin, edward egoggin at emc.com
Tue Mar 29 22:15:24 UTC 2005


The multipathd from 0.4.4-pre4 has died a 3 more times.
I am still not sure what's up here.

Also, curious why waitevent() always sets the event_nr
field of the event_thread structure in multipathd to
the event number value pulled from the kernel for the
mapped device instead of using the event number
currently saved in the event_thread structure?

While I can see getting the number from the kernel the
first time through the code for each mapped device, I
think the way it is coded it is possible to lose events.

I think events can get lost if they occur between the
time multipath pulls out the kernel path state for the
affected mapped device for the previously detected event
and the time that the new waitevent pthread calls waitevent
for the same mapped device.  Granted, the pthread will
likely make it first -- but there is nothing in place which
makes this so.




More information about the dm-devel mailing list