On Thu, Apr 14, 2022 at 22:47:44 +0200, Victor Toso wrote:
Found thanks to scripts/apibuild.py complain:
| Function virDomainSetBlockThreshold has symversion 3.1.0 but docstring says 3.2.0
Add in bb09798fbe "lib: Add API for setting the threshold size for
VIR_DOMAIN_EVENT_ID_BLOCK_THRESHOLD" in 2017-03-27
Easy to check with git grep:
| > git grep -r virDomainSetBlockThreshold v3.1.0 ./include
| /* Fails */
| > git grep -r virDomainSetBlockThreshold v3.2.0 ./include
| v3.2.0:include/libvirt/libvirt-domain.h: * The threshold size can be set via the
virDomainSetBlockThreshold API.
| v3.2.0:include/libvirt/libvirt-domain.h:int virDomainSetBlockThreshold(virDomainPtr
domain,
Signed-off-by: Victor Toso <victortoso(a)redhat.com>
---
src/libvirt_public.syms | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
As noted in my reply to the cover letter. This breaks linking of
existing builds of apps with libvirt:
$ cat threshold.c
#include <stddef.h>
#include <libvirt/libvirt.h>
int main()
{
virInitialize();
virDomainSetBlockThreshold(NULL, 0, 0, 0);
return 0;
}
$ gcc threshold.c -o threshold -lvirt -pedantic -Wall
$ ./threshold
libvirt: Domain error : invalid domain pointer in virDomainSetBlockThreshold
$ LD_LIBRARY_PATH=/home/pipo/build/libvirt/gcc/src/ ./threshold
./threshold: symbol lookup error: ./threshold: undefined symbol:
virDomainSetBlockThreshold, version LIBVIRT_3.1.0
NACK