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

Richard W.M. Jones rjones at redhat.com
Tue Aug 27 12:27:22 UTC 2019


On Mon, Aug 26, 2019 at 12:15:27PM -0500, Eric Blake wrote:
> 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;

ACK, although maybe we should just check the version strings are equal ...

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/




More information about the Libguestfs mailing list