HomeClusterLabs Projects

Fix: crmd: Don't update cluster/peer CIB fields when processing stonith results

Description

Fix: crmd: Don't update cluster/peer CIB fields when processing stonith results

Previously, to avoid tengine_stonith_callback() overwriting the CIB update
made by peer_update_callback() when a fenced node rejoins the cluster before
stonithd reports completion, the callback would set the sent_update flag.
However, tengine_stonith_notify() does not have access to this flag and
would update the CIB anyway.

Now, stonith_send_update() (used by both tengine_stonith_callback() and
tengine_stonith_notify()) doesn't set the cluster and peer fields in the
CIB at all (relying on membership layer and peer status callbacks to do so).

This way, the peer_status_callback()'s CIB update really doesn't get
overwritten, and peer_status_callback() doesn't have to try to do some
of the stonith callback's work (which would be erroneous if the node
was flapping and happened to rejoin before fencing actually occurred).

Details

Provenance
kgaillotAuthored on Nov 23 2015, 6:10 PM
Parents
rP87bc29e4b821: Merge pull request #832 from gao-yan/multiple-active-block-group
Branches
Unknown
Tags
Unknown

Event Timeline