[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: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH] block/gluster: defend on legacy ftruncate api use |
Date: |
Thu, 12 Apr 2018 11:21:42 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 |
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.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature