ClusterLabs/pacemaker — pull request #279 by gao-yan (2013-04-16 17:15:28+00:00)
Title: Fix: cib: Strip text nodes on writing CIB to disk

The problem happens if there are any text nodes in the CIB XML.

In write_cib_contents(), after writing the CIB and the digest to disk,
it'll instantly re-check them via retrieveCib(). While the text nodes
will be stripped when reading from the on disk XML file, which will
result in a mis-matched digest. So the write fails, and cib disk write
will be disabled.

This commit strips text nodes on writing CIB to disk to ensure the
consistency.

I notice strip_text_nodes() is always invoked in cib_perform_op() now. The problem was produced with a revision before that. While a double insurance would not be bad I guess. Anyway, I'd need to back-port this for the version that the customer is using.