qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] block/gluster: defend on legacy ftruncate api u


From: Niels de Vos
Subject: Re: [Qemu-devel] [PATCH] block/gluster: defend on legacy ftruncate api use
Date: Thu, 12 Apr 2018 20:53:01 +0200
User-agent: Mutt/1.9.2 (2017-12-15)

On Thu, Apr 12, 2018 at 11:21:42AM -0500, Eric Blake wrote:
> n 04/12/2018 08:31 AM, Niels de Vos wrote:
> > This change looks good to me, but a commit message would have been
> > helpful. I suggest something like this:
> > 
> >   Gluster 4.0 changed the signature of glfs_ftruncate(). The function
> >   now has two additional arguments, namely prestat and poststat. These
> >   provide not benefit for QEMU, so ignoring them and passing NULL makes
> >   the gluster-block driver compile with the new Gluster version again.
> > 
> > And maybe add this too:
> > 
> >   Glusters libgfapi uses symbol versioning and provides backwards
> >   compatible functions. Binaries compiled against previous versions of
> >   Gluster keep on functioning with the new library.
> > 
> 
> >> @@ -3856,6 +3857,9 @@ if test "$glusterfs" != "no" ; then
> >>        glusterfs_fallocate="yes"
> >>        glusterfs_zerofill="yes"
> >>      fi
> >> +    if ! $pkg_config --atleast-version=7.4 glusterfs-api; then
> >> +      glusterfs_legacy_ftruncate="yes"
> 
> Also, version-based tests are lousy.  Feature-based tests (does a call
> to glfs_ftruncate(0, 0) compile without error? then we are legacy) are
> less brittle, especially when features can be backported across
> versions.  So this should be reworked to a compile check, rather than a
> version query.

In this case, the cange to glfs_ftruncate() will not be backported in
the releases from the Gluster Community or any distributions that I am
familiar with.

I agree that a compile-test is safer and can understand that those are
preferred over pkg-config version checks.

Niels



reply via email to

[Prev in Thread] Current Thread [Next in Thread]