On 8/2/22 3:12 AM, Erik Skultety wrote:
On Mon, Aug 01, 2022 at 03:59:15PM -0400, Cole Robinson wrote:
> With glibc 2.36, sys/mount.h and linux/mount.h conflict:
>
https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount....
>
> 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
>
> Signed-off-by: Cole Robinson <crobinso(a)redhat.com>
> ---
> src/util/virfile.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/src/util/virfile.c b/src/util/virfile.c
> index 99da058db3..65d6d2a701 100644
> --- a/src/util/virfile.c
> +++ b/src/util/virfile.c
> @@ -71,7 +71,9 @@
> # endif
> # include <sys/ioctl.h>
> # include <linux/cdrom.h>
> -# include <linux/fs.h>
The commit message does explain the issue, but I'd still appreciate if there
was a short commentary explaining this explicit constant definition here as
well.
Done.
> +# define FS_IOC_GETFLAGS _IOR('f', 1, long)
> +# define FS_IOC_SETFLAGS _IOR('f', 2, long)
^this one has to be defined as FS_IOC_SETFLAGS _IOW('f', 2, long)
Darn, nice catch!
Here's the CI pipeline:
https://gitlab.com/crobinso/libvirt/-/pipelines/602982400
It passed, so I pushed with your suggested changes.
Thanks,
Cole