[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [BUG QEMU 1.1] virtio-9p-handle does not compile
From: |
Serge Hallyn |
Subject: |
Re: [Qemu-devel] [BUG QEMU 1.1] virtio-9p-handle does not compile |
Date: |
Wed, 6 Jun 2012 12:49:36 -0500 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Quoting Stefan Weil (address@hidden):
> Am 06.06.2012 12:50, schrieb Stefano Stabellini:
> >Hi Anthony,
> >currently QEMU 1.1 doesn't compile virtfs correctly on Ubuntu:
> >
> >qemu/hw/9pfs/virtio-9p-handle.c: In function ‘handle_update_file_cred’:
> >qemu/hw/9pfs/virtio-9p-handle.c:66:58: error: ‘AT_EMPTY_PATH’ undeclared
> >(first use in this function)
> >qemu/hw/9pfs/virtio-9p-handle.c:66:58: note: each undeclared identifier is
> >reported only once for each function it appears in
> >qemu/hw/9pfs/virtio-9p-handle.c: In function ‘handle_lstat’:
> >qemu/hw/9pfs/virtio-9p-handle.c:87:34: error: ‘AT_EMPTY_PATH’ undeclared
> >(first use in this function)
> >qemu/hw/9pfs/virtio-9p-handle.c: In function ‘handle_symlink’:
> >qemu/hw/9pfs/virtio-9p-handle.c:314:62: error: ‘AT_EMPTY_PATH’ undeclared
> >(first use in this function)
> >qemu/hw/9pfs/virtio-9p-handle.c: In function ‘handle_link’:
> >qemu/hw/9pfs/virtio-9p-handle.c:337:45: error: ‘AT_EMPTY_PATH’ undeclared
> >(first use in this function)
> >qemu/hw/9pfs/virtio-9p-handle.c: In function ‘handle_chown’:
> >qemu/hw/9pfs/virtio-9p-handle.c:373:58: error: ‘AT_EMPTY_PATH’ undeclared
> >(first use in this function)
> >
> >
> >a patch was sent on the 24th of Feb to fix the issue (also see below):
> >
> >http://marc.info/?l=qemu-devel&m=133011313912147
> >
> >Even though it is not particularly pretty, in the absence of better
> >alternatives it should probably be applied.
> >
> >Cheers,
> >
> >Stefano
> >
> >
> >
> >
> >
> >On Fri, 24 Feb 2012, Serge Hallyn wrote:
> >>If AT_EMPTY_PATH is not in one of the included files, go ahead and
> >>define it. qemu won't compile on ubuntu for me without this.
> >>
> >>(Note - alternatively we could #include<linux/fcntl.h> to pick
> >>up the definitions there)
> >>
> >>Signed-off-by: Serge Hallyn<address@hidden>
> >>---
> >> hw/9pfs/virtio-9p-handle.c | 9 +++++++++
> >> 1 files changed, 9 insertions(+), 0 deletions(-)
> >>
> >>diff --git a/hw/9pfs/virtio-9p-handle.c b/hw/9pfs/virtio-9p-handle.c
> >>index f96d17a..e403a84 100644
> >>--- a/hw/9pfs/virtio-9p-handle.c
> >>+++ b/hw/9pfs/virtio-9p-handle.c
> >>@@ -39,6 +39,15 @@
> >> #ifndef BTRFS_SUPER_MAGIC
> >> #define BTRFS_SUPER_MAGIC 0x9123683E
> >> #endif
> >>+#ifndef AT_REMOVEDIR
> >>+#define AT_REMOVEDIR 0x200
> >>+#endif
> >>+#ifndef AT_EMPTY_PATH
> >>+#define AT_EMPTY_PATH 0x1000 /* Allow empty relative pathname */
> >>+#endif
> >>+#ifndef O_PATH
> >>+#define O_PATH 010000000
> >>+#endif
> >>
> >> struct handle_data {
> >> int mountfd;
> >>--
> >>1.7.9
>
>
> The patch will fix the compiler error messages, but will the
> resulting code work? Maybe it has runtime dependencies
> (Linux kernel?) which should be checked at runtime.
>
> Would an enhanced test in configure be a better solution?
> It could disable VirtFS automatically if the definitions
> are missing.
>
> On Ubuntu Lenny, there is no definition for AT_EMPTY_PATH,
(Debian Lenny I presume)
True, the flag is newer than I thought. How could the configure option
be enhanced? Could we simply grep for it in /usr/include/linux/fcntl.h,
set an option saying it exists, then still do the #ifndef in
hw/9pfs/virtio-9p-handle.c?
(The problem is that the glibc and linux headers are currently not
compatible... a separate problem, yes, but one I can't currently
overcome AFAIK)
> not even in linux/fcntl.h.
>
> Regards,
> Stefan W.
>