diff options
author | Keno Fischer <keno@alumni.harvard.edu> | 2018-06-16 20:56:45 -0400 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2018-08-17 14:26:07 +0100 |
commit | 9343cc089c079068fb298bab7eba901671e7da3b (patch) | |
tree | 7ffef4a8435136b5ac89934da20c471414cd1399 | |
parent | b8f7ff1e10b4d03555d6a5da011c2aae10063ab8 (diff) |
9p: linux: Fix a couple Linux assumptions
- Guard Linux only headers.
- Add qemu/statfs.h header to abstract over the which
headers are needed for struct statfs
- Define `ENOATTR` only if not only defined
(it's defined in system headers on Darwin).
Signed-off-by: Keno Fischer <keno@juliacomputing.com>
-rw-r--r-- | fsdev/file-op-9p.h | 2 | ||||
-rw-r--r-- | fsdev/virtfs-proxy-helper.c | 4 | ||||
-rw-r--r-- | hw/9pfs/9p-local.c | 2 | ||||
-rw-r--r-- | include/qemu/statfs.h | 19 | ||||
-rw-r--r-- | include/qemu/xattr.h | 4 |
5 files changed, 28 insertions, 3 deletions
diff --git a/fsdev/file-op-9p.h b/fsdev/file-op-9p.h index 3fa062b39f..111f8048df 100644 --- a/fsdev/file-op-9p.h +++ b/fsdev/file-op-9p.h @@ -16,7 +16,7 @@ #include <dirent.h> #include <utime.h> -#include <sys/vfs.h> +#include "qemu/statfs.h" #include "qemu-fsdev-throttle.h" #define SM_LOCAL_MODE_BITS 0600 diff --git a/fsdev/virtfs-proxy-helper.c b/fsdev/virtfs-proxy-helper.c index 6f132c5ff1..94fb069625 100644 --- a/fsdev/virtfs-proxy-helper.c +++ b/fsdev/virtfs-proxy-helper.c @@ -13,17 +13,19 @@ #include <sys/resource.h> #include <getopt.h> #include <syslog.h> +#ifdef CONFIG_LINUX #include <sys/capability.h> #include <sys/fsuid.h> -#include <sys/vfs.h> #include <sys/ioctl.h> #include <linux/fs.h> #ifdef CONFIG_LINUX_MAGIC_H #include <linux/magic.h> #endif +#endif #include "qemu-common.h" #include "qemu/sockets.h" #include "qemu/xattr.h" +#include "qemu/statfs.h" #include "9p-iov-marshal.h" #include "hw/9pfs/9p-proxy.h" #include "fsdev/9p-iov-marshal.h" diff --git a/hw/9pfs/9p-local.c b/hw/9pfs/9p-local.c index c30f4f26bd..98d4073993 100644 --- a/hw/9pfs/9p-local.c +++ b/hw/9pfs/9p-local.c @@ -27,10 +27,12 @@ #include "qemu/error-report.h" #include "qemu/option.h" #include <libgen.h> +#ifdef CONFIG_LINUX #include <linux/fs.h> #ifdef CONFIG_LINUX_MAGIC_H #include <linux/magic.h> #endif +#endif #include <sys/ioctl.h> #ifndef XFS_SUPER_MAGIC diff --git a/include/qemu/statfs.h b/include/qemu/statfs.h new file mode 100644 index 0000000000..dde289f9bb --- /dev/null +++ b/include/qemu/statfs.h @@ -0,0 +1,19 @@ +/* + * Host statfs header abstraction + * + * This work is licensed under the terms of the GNU GPL, version 2, or any + * later version. See the COPYING file in the top-level directory. + * + */ +#ifndef QEMU_STATFS_H +#define QEMU_STATFS_H + +#ifdef CONFIG_LINUX +# include <sys/vfs.h> +#endif +#ifdef CONFIG_DARWIN +# include <sys/param.h> +# include <sys/mount.h> +#endif + +#endif diff --git a/include/qemu/xattr.h b/include/qemu/xattr.h index a83fe8e749..f1d0f7be74 100644 --- a/include/qemu/xattr.h +++ b/include/qemu/xattr.h @@ -22,7 +22,9 @@ #ifdef CONFIG_LIBATTR # include <attr/xattr.h> #else -# define ENOATTR ENODATA +# if !defined(ENOATTR) +# define ENOATTR ENODATA +# endif # include <sys/xattr.h> #endif |