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