Fixes the following build error:
fsdev/file-op-9p.h:156:56: error: declaration of 'struct statfs' will
not be visible outside of this function [-Werror,-Wvisibility]
int (*statfs)(FsContext *s, V9fsPath *path, struct statfs *stbuf);
^
As Windows neither has statfs, nor sys/mount.h, don't include it there.
Fixes: 684f91203439 ("tests/9p: split virtio-9p-test.c ...")
Link: https://lore.kernel.org/all/2690108.PsDodiG1Zx@silver/
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
---
fsdev/file-op-9p.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/fsdev/file-op-9p.h b/fsdev/file-op-9p.h
index 4997677460..700f1857b4 100644
--- a/fsdev/file-op-9p.h
+++ b/fsdev/file-op-9p.h
@@ -24,6 +24,8 @@
#endif
#ifdef CONFIG_DARWIN
# include <sys/param.h>
+#endif
+#ifndef CONFIG_WIN32
# include <sys/mount.h>
#endif
--
2.30.2
On Fri, Oct 28, 2022 at 7:30 PM Christian Schoenebeck <qemu_oss@crudebyte.com> wrote: > > Fixes the following build error: > > fsdev/file-op-9p.h:156:56: error: declaration of 'struct statfs' will > not be visible outside of this function [-Werror,-Wvisibility] > int (*statfs)(FsContext *s, V9fsPath *path, struct statfs *stbuf); > ^ > > As Windows neither has statfs, nor sys/mount.h, don't include it there. > > Fixes: 684f91203439 ("tests/9p: split virtio-9p-test.c ...") > Link: https://lore.kernel.org/all/2690108.PsDodiG1Zx@silver/ > Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com> > --- > fsdev/file-op-9p.h | 2 ++ > 1 file changed, 2 insertions(+) > Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
On 28/10/2022 13.21, Christian Schoenebeck wrote: > Fixes the following build error: > > fsdev/file-op-9p.h:156:56: error: declaration of 'struct statfs' will > not be visible outside of this function [-Werror,-Wvisibility] > int (*statfs)(FsContext *s, V9fsPath *path, struct statfs *stbuf); > ^ > > As Windows neither has statfs, nor sys/mount.h, don't include it there. > > Fixes: 684f91203439 ("tests/9p: split virtio-9p-test.c ...") > Link: https://lore.kernel.org/all/2690108.PsDodiG1Zx@silver/ > Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com> > --- > fsdev/file-op-9p.h | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/fsdev/file-op-9p.h b/fsdev/file-op-9p.h > index 4997677460..700f1857b4 100644 > --- a/fsdev/file-op-9p.h > +++ b/fsdev/file-op-9p.h > @@ -24,6 +24,8 @@ > #endif > #ifdef CONFIG_DARWIN > # include <sys/param.h> > +#endif > +#ifndef CONFIG_WIN32 > # include <sys/mount.h> > #endif Do you feel confident that this will also work on other exotic systems? (e.g. does it work with "make vm-build-haiku.x86_64" ?) Otherwise it might be better to add a meson.build test for this header instead. Thomas
On Friday, October 28, 2022 1:42:34 PM CEST Thomas Huth wrote: > On 28/10/2022 13.21, Christian Schoenebeck wrote: > > Fixes the following build error: > > > > fsdev/file-op-9p.h:156:56: error: declaration of 'struct statfs' will > > not be visible outside of this function [-Werror,-Wvisibility] > > int (*statfs)(FsContext *s, V9fsPath *path, struct statfs *stbuf); > > ^ > > > > As Windows neither has statfs, nor sys/mount.h, don't include it there. > > > > Fixes: 684f91203439 ("tests/9p: split virtio-9p-test.c ...") > > Link: https://lore.kernel.org/all/2690108.PsDodiG1Zx@silver/ > > Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com> > > --- > > fsdev/file-op-9p.h | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/fsdev/file-op-9p.h b/fsdev/file-op-9p.h > > index 4997677460..700f1857b4 100644 > > --- a/fsdev/file-op-9p.h > > +++ b/fsdev/file-op-9p.h > > @@ -24,6 +24,8 @@ > > #endif > > #ifdef CONFIG_DARWIN > > # include <sys/param.h> > > +#endif > > +#ifndef CONFIG_WIN32 > > # include <sys/mount.h> > > #endif > > Do you feel confident that this will also work on other exotic systems? > (e.g. does it work with "make vm-build-haiku.x86_64" ?) > Otherwise it might be better to add a meson.build test for this header instead. 9pfs only supports Linux and macOS ATM, and Windows being WIP. From meson.buid: have_virtfs = get_option('virtfs') \ .require(targetos == 'linux' or targetos == 'darwin', error_message: 'virtio-9p (virtfs) requires Linux or macOS') \ .require(targetos == 'linux' or cc.has_function('pthread_fchdir_np'), error_message: 'virtio-9p (virtfs) on macOS requires the presence of pthread_fchdir_np') \ .require(targetos == 'darwin' or (libattr.found() and libcap_ng.found()), error_message: 'virtio-9p (virtfs) on Linux requires libcap-ng-devel and libattr-devel') \ .disable_auto_if(not have_tools and not have_system) \ .allowed() And Bin Meng just sent a related patch to fix building 9pfs tests unconditionally: https://lore.kernel.org/all/20221028045736.679903-9-bin.meng@windriver.com/ Best regards, Christian Schoenebeck
On 28/10/2022 14.14, Christian Schoenebeck wrote: > On Friday, October 28, 2022 1:42:34 PM CEST Thomas Huth wrote: >> On 28/10/2022 13.21, Christian Schoenebeck wrote: >>> Fixes the following build error: >>> >>> fsdev/file-op-9p.h:156:56: error: declaration of 'struct statfs' will >>> not be visible outside of this function [-Werror,-Wvisibility] >>> int (*statfs)(FsContext *s, V9fsPath *path, struct statfs *stbuf); >>> ^ >>> >>> As Windows neither has statfs, nor sys/mount.h, don't include it there. >>> >>> Fixes: 684f91203439 ("tests/9p: split virtio-9p-test.c ...") >>> Link: https://lore.kernel.org/all/2690108.PsDodiG1Zx@silver/ >>> Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com> >>> --- >>> fsdev/file-op-9p.h | 2 ++ >>> 1 file changed, 2 insertions(+) >>> >>> diff --git a/fsdev/file-op-9p.h b/fsdev/file-op-9p.h >>> index 4997677460..700f1857b4 100644 >>> --- a/fsdev/file-op-9p.h >>> +++ b/fsdev/file-op-9p.h >>> @@ -24,6 +24,8 @@ >>> #endif >>> #ifdef CONFIG_DARWIN >>> # include <sys/param.h> >>> +#endif >>> +#ifndef CONFIG_WIN32 >>> # include <sys/mount.h> >>> #endif >> >> Do you feel confident that this will also work on other exotic systems? >> (e.g. does it work with "make vm-build-haiku.x86_64" ?) >> Otherwise it might be better to add a meson.build test for this header instead. > > 9pfs only supports Linux and macOS ATM, and Windows being WIP. Ok, makes sense now, thanks! Thomas
© 2016 - 2024 Red Hat, Inc.