On Thu, Mar 26, 2020 at 04:26:11PM -0500, Eric Blake wrote:
> nbdkit_LDADD = \
>+ ../lib/libnbdkit.la \
Is that ../ going to bite us on RHEL 7's older Automake? Do we need
to uses $(top_builddir) instead?
TBH I wasn't sure, but I have compiled the latest version of the patch
series on RHEL 7 just now and run ‘make check’ and everything is fine.
>+++ b/lib/lib.h
>@@ -0,0 +1,48 @@
>+#ifndef NBDKIT_LIB_H
>+#define NBDKIT_LIB_H
>+
>+#include <stdarg.h>
>+#include <stdbool.h>
>+#include <sys/types.h>
>+#include <sys/socket.h>
>+
>+/* Defines the private function which is used by the server to
>+ * initialize libnbdkit.so at runtime. This ABI may change at any
>+ * time, which is why nbdkit and the corresponding libnbdkit.so must
>+ * always be shipped together.
>+ */
>+extern void libnbdkit_private_init (const char *expected_version);
>+
Should this read "may change at any time, other than the first
parameter for expected_version, which is why..."?
So I think that we should not make any promises at all about this ABI
since it is entirely private and should never be a concern for people
using nbdkit properly through the publicly defined APIs. (It may be
more of an issue if nbdkit is not properly packaged but I hope we have
good enough relations with the distros so we can avoid that.)
Thanks for the reviews.
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine. Supports Linux and Windows.
http://people.redhat.com/~rjones/virt-df/