[Libguestfs] [PATCH v2] file: Add missing include for FALLOC_FL_*

Richard W.M. Jones rjones at redhat.com
Tue Jul 31 11:43:57 UTC 2018


On Mon, Jul 30, 2018 at 01:16:10PM -0500, Eric Blake wrote:
> On 07/30/2018 01:04 PM, Nir Soffer wrote:
> >On RHEL 7.5 we need to include <linux/falloc.h> for FALLOC_FL_* macros.
> 
> Rather, on any Linux system that pre-dates glibc 2.18, where the
> flags were finally supported directly in <fcntl.h>
> 
> >Without the macros, fallocate is never used and we fall back to manual
> >zeroing.
> >
> 
> >+++ b/plugins/file/file.c
> >@@ -42,6 +42,10 @@
> >  #include <sys/stat.h>
> >  #include <errno.h>
> >+#if defined(__linux__)
> >+#include <linux/falloc.h>   /* For FALLOC_FL_* on RHEL, glibc < 2.18 */
> 
> Doesn't mention which version of RHEL, nor the fact that non-RHEL
> systems may also be impacted (it is the glibc version that matters
> here, rather than the distro).
> 
> >+#endif
> >+
> 
> ACK.
> 
> Perhaps could be made tighter, with a less ambiguous comment, as:
> 
> #if defined(__linux__) && !defined(FALLOC_FL_PUNCH_HOLE)
> # include <linux/falloc.h>  /* For FALLOC_FL_*, on glibc < 2.18 */
> #endif
> 
> but let's see if Rich has any preference between the two.

Your version is better.  Upstream hat on we don't care about the
weirdness of those enterprise distros :-)

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
Fedora Windows cross-compiler. Compile Windows programs, test, and
build Windows installers. Over 100 libraries supported.
http://fedoraproject.org/wiki/MinGW




More information about the Libguestfs mailing list