[Libguestfs] [nbdkit PATCH] filters: Bump API version

Eric Blake eblake at redhat.com
Mon Aug 26 17:15:27 UTC 2019


We do not promise API compatibility for filters between stable
releases of nbdkit, however, we should at least ensure that when we do
break API, that we refuse to load a filter compiled against one
version of nbdkit with another server running a different API.  A
single bump once per stable release is good enough (rather than once
per API change).

We did this correctly for commits b0ce4411/cb309687/df0cc21d (bumping
to API version 2 for the combined changes between v1.2 and v1.4), but
failed to do so for f184fdc3 (affecting v1.10), 4ca66f70 (affecting
v1.12), or 5ee7bd29/ee61d232 (affecting the upcoming v1.14).  So do it
retroacively now, as well as backporting intermediate bumps to
affected stable branches.

Signed-off-by: Eric Blake <eblake at redhat.com>
---

I'm pushing this soon.

 include/nbdkit-filter.h | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/include/nbdkit-filter.h b/include/nbdkit-filter.h
index 94f17789..1ebd1cb6 100644
--- a/include/nbdkit-filter.h
+++ b/include/nbdkit-filter.h
@@ -43,7 +43,7 @@
 extern "C" {
 #endif

-#define NBDKIT_FILTER_API_VERSION 2
+#define NBDKIT_FILTER_API_VERSION 5

 struct nbdkit_extent {
   uint64_t offset;
@@ -100,8 +100,10 @@ struct nbdkit_filter {
    */
   int _api_version;

-  /* Because there is no ABI guarantee, new fields may be added
-   * where logically appropriate.  */
+  /* Because there is no ABI guarantee, new fields may be added where
+   * logically appropriate, as long as we correctly bump
+   * NBDKIT_FILTER_API_VERSION once per stable release.
+   */
   const char *name;
   const char *longname;
   const char *version;
-- 
2.21.0




More information about the Libguestfs mailing list