[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