Message ID | E1ooNWu-0002oC-76@lizzy.crudebyte.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | 9pfs: fix missing sys/mount.h include | expand |
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
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>
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
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(+)