Skip to content

Commit

Permalink
9p: linux: Fix a couple Linux assumptions
Browse files Browse the repository at this point in the history
 - 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 <[email protected]>
[Michael Roitzsch: - Rebase for NixOS]
Signed-off-by: Michael Roitzsch <[email protected]>

While it might at first appear that fsdev/virtfs-proxy-header.c would
need similar adjustment for darwin as file-op-9p here, a later patch in
this series disables virtfs-proxy-helper for non-Linux. Allowing
virtfs-proxy-helper on darwin could potentially be an additional
optimization later.

[Will Cohen: - Fix headers for Alpine
             - Integrate statfs.h back into file-op-9p.h
             - Remove superfluous header guards from file-opt-9p
             - Add note about virtfs-proxy-helper being disabled
               on non-Linux for this patch series]
Signed-off-by: Will Cohen <[email protected]>
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Greg Kurz <[email protected]>
Message-Id: <[email protected]>
Signed-off-by: Christian Schoenebeck <[email protected]>
  • Loading branch information
Keno authored and cschoenebeck committed Mar 7, 2022
1 parent 9d662a6 commit e0bd743
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 2 deletions.
9 changes: 8 additions & 1 deletion fsdev/file-op-9p.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,17 @@

#include <dirent.h>
#include <utime.h>
#include <sys/vfs.h>
#include "qemu-fsdev-throttle.h"
#include "p9array.h"

#ifdef CONFIG_LINUX
# include <sys/vfs.h>
#endif
#ifdef CONFIG_DARWIN
# include <sys/param.h>
# include <sys/mount.h>
#endif

#define SM_LOCAL_MODE_BITS 0600
#define SM_LOCAL_DIR_MODE_BITS 0700

Expand Down
2 changes: 2 additions & 0 deletions hw/9pfs/9p-local.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,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
Expand Down
4 changes: 4 additions & 0 deletions hw/9pfs/9p.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,11 @@
#include "migration/blocker.h"
#include "qemu/xxhash.h"
#include <math.h>
#ifdef CONFIG_LINUX
#include <linux/limits.h>
#else
#include <limits.h>
#endif

int open_fd_hw;
int total_open_fd;
Expand Down
4 changes: 3 additions & 1 deletion include/qemu/xattr.h
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down

0 comments on commit e0bd743

Please sign in to comment.