HomeClusterLabs Projects

Fix: lrmd: Finalize all pending and recurring operations when cleaning up a…

Description

Fix: lrmd: Finalize all pending and recurring operations when cleaning up a resource

When cleaning up or reprobing a resource, the resource will be
unregistered from lrmd. In free_rsc(), when it loops over
rsc->pending_ops and rsc->recurring_ops GLists, cmd_finalize() is
invoked either directly or via a callback, which removes elements from
the GLists. Previously, with the for loops, this could break the
iterating of the lists and miss the following elements in the lists.
If a resource was configured with multiple monitor operations, cleanup
command would not cancel all existing monitor operations. This could
cause unexpected monitor failures to occur after the resource was
stopped on the node.

The while loops are more appropriate for handling them.

Details

Provenance
gao-yanAuthored on Oct 23 2015, 11:13 AM
Parents
rP12320da9bc27: Merge pull request #819 from wenningerk/doc_proposal
Branches
Unknown
Tags
Unknown

Event Timeline