]> xenbits.xensource.com Git - libvirt.git/commitdiff
virfile: Fix build with glibc 2.36
authorCole Robinson <crobinso@redhat.com>
Mon, 1 Aug 2022 19:24:01 +0000 (15:24 -0400)
committerCole Robinson <crobinso@redhat.com>
Tue, 2 Aug 2022 18:53:53 +0000 (14:53 -0400)
With glibc 2.36, sys/mount.h and linux/mount.h conflict:
https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E

virfile.c imports sys/mount.h and linux/fs.h, which pulls in
linux/mount.h.

Manually define the constants we need from linux/fs.h, like was
done in llvm:

https://reviews.llvm.org/rGb379129c4beb3f26223288627a1291739f33af02

Reviewed-by: Erik Skultety <eskultet@redhat.com>
Signed-off-by: Cole Robinson <crobinso@redhat.com>
src/util/virfile.c

index 99da058db3bb24733f58705a491ce6286a0b929f..ce541b8946b8daa6634147bd9c73aa532b83714b 100644 (file)
 # endif
 # include <sys/ioctl.h>
 # include <linux/cdrom.h>
-# include <linux/fs.h>
+/* These come from linux/fs.h, but that header conflicts with
+ * sys/mount.h on glibc 2.36+ */
+# define FS_IOC_GETFLAGS _IOR('f', 1, long)
+# define FS_IOC_SETFLAGS _IOW('f', 2, long)
+# define FS_NOCOW_FL 0x00800000
 #endif
 
 #if WITH_LIBATTR