[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: xenstore_lib.h and libxenstore API/ABI problems
On 02.03.21 16:23, Andrew Cooper wrote: Hello, This is a total mess. libxenstored does not have a stable ABI. xenstore_lib.h contains: * struct xs_permissions, which contains an enum - one of the very common ABI traps. * the prototypes for expanding_buffer_ensure(), sanitise_value() and unsanitise_value(), which are inappropriately-namespaced symbols in libxenstore * struct expanding_buffer with a classic string-handling trap (int len). * Various xenstored-internal details such as struct xs_tdb_record_hdr, the internal permission bits, as well as stuff like xs_daemon_{root,run}dir(), and worse xs_daemon_tdb(), which have absolutely no business being external to xenstored. Its clear that most of this shouldn't be part of libxenstore, but that ship has sailed. 3.0.3 is broken and cannot be fixed. My best suggestion is that we freeze 3.0.3 where it is, and create a 4.0 which has all of the xenstore_lib.h content deleted. That, AFAICT, gets us something which is 99% compatible, and stands a chance of being able to kept properly stable. Thoughts? How would that work in practice? Would we ship both libraries, or only 4.0? Juergen Attachment:
OpenPGP_0xB0DE9DD628BF132F.asc Attachment:
OpenPGP_signature
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |