[libvirt] [PATCH] build: work around lack of MacOS fdatasync

Eric Blake eblake at redhat.com
Fri Sep 16 23:49:42 UTC 2011


On 09/16/2011 09:21 AM, Eric Blake wrote:
> Mingw lacks fsync, but gnulib provides that.  Meanwhile, gnulib does
> not (yet) provide fdatasync, so this is a quick hack to fake that
> function on MacOS X; we can revert this configure change once gnulib
> gives us a real module.
>
> * bootstrap.conf (gnulib_modules): Add fsync.
> * configure.ac (AC_CHECK_FUNCS_ONCE): Check for fdatasync, and
> fake it with fsync when not present.
> ---
>
> I've tested that this is a no-op on Linux, but would appreciate someone
> with a MacOS setup to quickly test that it fixes the build there.

I've finally got to the point where I could do some more testing, and 
this does indeed fix the build error for MacOS, so I'm pushing under the 
build-breaker rule so that it will be in rc3.

I've also worked on several gnulib changes to add a fdatasync module:
https://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00205.html
In particular, that includes a patch to use the available (but 
undeclared) fdatasync added in MacOS X 10.7 (the libvirt patch above is 
intentionally dumber, and blindly uses fsync even on MacOS 10.7):
https://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00217.html
However, I won't do a .gnulib submodule update to pick up any of those 
changes until after 0.9.5 is released, especially since the gnulib side 
might still be under heavy churn this weekend as it gets tested on 
various platforms.

-- 
Eric Blake   eblake at redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org




More information about the libvir-list mailing list