On Thu, 2018-11-01 at 16:41 -0500, Ken Gaillot wrote: > This would affect most applications using libpe_status. > > I ran into a situation recently where a fix would require changing > libpe_status's pe_working_set_t data type. > > For most data types in the Pacemaker API, we require (usually by > documented policy rather than code) that library-provided > constructors > be used to allocate them. That allows us to add new members at the > end > of structs without existing applications needing to be rebuilt. > > However we don't have that for pe_working_set_t, so any change to > that > currently requires an ABI version bump and thus all applications > using > it to be recompiled (and breaking any ABI stability a distro would > like > to provide). > > I have a PR open currently to add a constructor and destructor for > pe_working_set_t, and document their requirement: > > https://github.com/ClusterLabs/pacemaker/pull/1608 > > Applications that use the library would need to not only be > recompiled > but also modified to use the new functions. The PR gives examples. > > A bit of searching turned up only sbd, fence-virt, and pacemaker-mgmt > using libpe_status (and I'm not sure pacemaker-mgmt is still active).
Forgot to add pm_kvm_tools from the Japanese Linux-HA community > But I'm curious if anyone has custom applications that might be > affected, or has an opinion on the problem and solution here. > > In case anyone's interested, the fix that inspired this has its own > PR: > > https://github.com/ClusterLabs/pacemaker/pull/1609 -- Ken Gaillot <kgail...@redhat.com> _______________________________________________ Developers mailing list Developers@clusterlabs.org https://lists.clusterlabs.org/mailman/listinfo/developers