fsdev/file-op-9p.h | 9 ++-
fsdev/meson.build | 1 +
fsdev/p9array.h | 38 ++++++------
hw/9pfs/9p-local.c | 27 +++++++--
hw/9pfs/9p-proxy.c | 38 +++++++++++-
hw/9pfs/9p-synth.c | 6 ++
hw/9pfs/9p-util-darwin.c | 97 ++++++++++++++++++++++++++++++
hw/9pfs/{9p-util.c => 9p-util-linux.c} | 8 ++-
hw/9pfs/9p-util.h | 76 ++++++++++++++++++++++++
hw/9pfs/9p.c | 104 ++++++++++++++++++++++-----------
hw/9pfs/9p.h | 30 ++++++++--
hw/9pfs/codir.c | 34 ++++++-----
hw/9pfs/coth.h | 4 +-
hw/9pfs/meson.build | 3 +-
include/qemu/osdep.h | 13 -----
include/qemu/xattr.h | 4 +-
meson.build | 13 +++--
tests/qtest/virtio-9p-test.c | 2 +-
util/osdep.c | 21 -------
19 files changed, 401 insertions(+), 127 deletions(-)
create mode 100644 hw/9pfs/9p-util-darwin.c
rename hw/9pfs/{9p-util.c => 9p-util-linux.c} (90%)
The following changes since commit 5959ef7d431ffd02db112209cf55e47b677256fd:
Merge remote-tracking branch 'remotes/alistair/tags/pull-riscv-to-apply-20220303' into staging (2022-03-03 19:59:38 +0000)
are available in the Git repository at:
https://github.com/cschoenebeck/qemu.git tags/pull-9p-20220304
for you to fetch changes up to 39edfe337c418995b2932a9a14a612fb0c329dc5:
fsdev/p9array.h: convert Doxygen -> kerneldoc format (2022-03-04 13:07:39 +0100)
----------------------------------------------------------------
9pfs: introduce macOS host support and cleanup
* Add support for Darwin (a.k.a. macOS) hosts.
* Code cleanup (move qemu_dirent_dup() from osdep -> 9p-util).
* API doc cleanup (convert Doxygen -> kerneldoc format).
----------------------------------------------------------------
Christian Schoenebeck (8):
9pfs: move qemu_dirent_dup() from osdep -> 9p-util
9pfs: drop Doxygen format from qemu_dirent_dup() API comment
9pfs/9p.h: convert Doxygen -> kerneldoc format
9pfs/codir.c: convert Doxygen -> kerneldoc format
9pfs/9p.c: convert Doxygen -> kerneldoc format
9pfs/9p-util.h: convert Doxygen -> kerneldoc format
9pfs/coth.h: drop Doxygen format on v9fs_co_run_in_worker()
fsdev/p9array.h: convert Doxygen -> kerneldoc format
Keno Fischer (10):
9p: linux: Fix a couple Linux assumptions
9p: Rename 9p-util -> 9p-util-linux
9p: darwin: Handle struct stat(fs) differences
9p: darwin: Handle struct dirent differences
9p: darwin: Ignore O_{NOATIME, DIRECT}
9p: darwin: Move XATTR_SIZE_MAX->P9_XATTR_SIZE_MAX
9p: darwin: *xattr_nofollow implementations
9p: darwin: Compatibility for f/l*xattr
9p: darwin: Implement compatibility for mknodat
9p: darwin: meson: Allow VirtFS on Darwin
Will Cohen (1):
9p: darwin: Adjust assumption on virtio-9p-test
fsdev/file-op-9p.h | 9 ++-
fsdev/meson.build | 1 +
fsdev/p9array.h | 38 ++++++------
hw/9pfs/9p-local.c | 27 +++++++--
hw/9pfs/9p-proxy.c | 38 +++++++++++-
hw/9pfs/9p-synth.c | 6 ++
hw/9pfs/9p-util-darwin.c | 97 ++++++++++++++++++++++++++++++
hw/9pfs/{9p-util.c => 9p-util-linux.c} | 8 ++-
hw/9pfs/9p-util.h | 76 ++++++++++++++++++++++++
hw/9pfs/9p.c | 104 ++++++++++++++++++++++-----------
hw/9pfs/9p.h | 30 ++++++++--
hw/9pfs/codir.c | 34 ++++++-----
hw/9pfs/coth.h | 4 +-
hw/9pfs/meson.build | 3 +-
include/qemu/osdep.h | 13 -----
include/qemu/xattr.h | 4 +-
meson.build | 13 +++--
tests/qtest/virtio-9p-test.c | 2 +-
util/osdep.c | 21 -------
19 files changed, 401 insertions(+), 127 deletions(-)
create mode 100644 hw/9pfs/9p-util-darwin.c
rename hw/9pfs/{9p-util.c => 9p-util-linux.c} (90%)
On Fri, 4 Mar 2022 at 12:32, Christian Schoenebeck <qemu_oss@crudebyte.com> wrote: > > The following changes since commit 5959ef7d431ffd02db112209cf55e47b677256fd: > > Merge remote-tracking branch 'remotes/alistair/tags/pull-riscv-to-apply-20220303' into staging (2022-03-03 19:59:38 +0000) > > are available in the Git repository at: > > https://github.com/cschoenebeck/qemu.git tags/pull-9p-20220304 > > for you to fetch changes up to 39edfe337c418995b2932a9a14a612fb0c329dc5: > > fsdev/p9array.h: convert Doxygen -> kerneldoc format (2022-03-04 13:07:39 +0100) > > ---------------------------------------------------------------- > 9pfs: introduce macOS host support and cleanup > > * Add support for Darwin (a.k.a. macOS) hosts. > > * Code cleanup (move qemu_dirent_dup() from osdep -> 9p-util). > > * API doc cleanup (convert Doxygen -> kerneldoc format). This fails to build on my OSX box: In file included from ../../hw/9pfs/9p-util-darwin.c:12: ../../hw/9pfs/9p-util.h:57:1: error: unused label 'again' [-Werror,-Wunused-label] again: ^~~~~~ because the use of the label is inside a #ifndef CONFIG_DARWIN but the definition is not. thanks -- PMM
On Freitag, 4. März 2022 19:42:18 CET Peter Maydell wrote:
> On Fri, 4 Mar 2022 at 12:32, Christian Schoenebeck
>
> <qemu_oss@crudebyte.com> wrote:
> > The following changes since commit
5959ef7d431ffd02db112209cf55e47b677256fd:
> > Merge remote-tracking branch
> > 'remotes/alistair/tags/pull-riscv-to-apply-20220303' into staging
> > (2022-03-03 19:59:38 +0000)>
> > are available in the Git repository at:
> > https://github.com/cschoenebeck/qemu.git tags/pull-9p-20220304
> >
> > for you to fetch changes up to 39edfe337c418995b2932a9a14a612fb0c329dc5:
> > fsdev/p9array.h: convert Doxygen -> kerneldoc format (2022-03-04
> > 13:07:39 +0100)>
> > ----------------------------------------------------------------
> > 9pfs: introduce macOS host support and cleanup
> >
> > * Add support for Darwin (a.k.a. macOS) hosts.
> >
> > * Code cleanup (move qemu_dirent_dup() from osdep -> 9p-util).
> >
> > * API doc cleanup (convert Doxygen -> kerneldoc format).
>
> This fails to build on my OSX box:
>
> In file included from ../../hw/9pfs/9p-util-darwin.c:12:
> ../../hw/9pfs/9p-util.h:57:1: error: unused label 'again'
> [-Werror,-Wunused-label]
> again:
> ^~~~~~
>
> because the use of the label is inside a #ifndef CONFIG_DARWIN
> but the definition is not.
>
> thanks
> -- PMM
So basically it needs this change:
diff --git a/hw/9pfs/9p-util.h b/hw/9pfs/9p-util.h
index cfa7af43c5..97e681e167 100644
--- a/hw/9pfs/9p-util.h
+++ b/hw/9pfs/9p-util.h
@@ -54,7 +54,9 @@ static inline int openat_file(int dirfd, const char *name,
int flags,
{
int fd, serrno, ret;
+#ifndef CONFIG_DARWIN
again:
+#endif
fd = openat(dirfd, name, flags | O_NOFOLLOW | O_NOCTTY | O_NONBLOCK,
mode);
if (fd == -1) {
Will, can you check why this did not fail there and whether there are probably
more issues?
If that's the only one, let me know, then I would fix this on my end and
resend a PR ASAP. Thanks!
Best regards,
Christian Schoenebeck
On Fri, Mar 4, 2022 at 3:16 PM Christian Schoenebeck <qemu_oss@crudebyte.com>
wrote:
> On Freitag, 4. März 2022 19:42:18 CET Peter Maydell wrote:
> > On Fri, 4 Mar 2022 at 12:32, Christian Schoenebeck
> >
> > <qemu_oss@crudebyte.com> wrote:
> > > The following changes since commit
> 5959ef7d431ffd02db112209cf55e47b677256fd:
> > > Merge remote-tracking branch
> > > 'remotes/alistair/tags/pull-riscv-to-apply-20220303' into staging
> > > (2022-03-03 19:59:38 +0000)>
> > > are available in the Git repository at:
> > > https://github.com/cschoenebeck/qemu.git tags/pull-9p-20220304
> > >
> > > for you to fetch changes up to
> 39edfe337c418995b2932a9a14a612fb0c329dc5:
> > > fsdev/p9array.h: convert Doxygen -> kerneldoc format (2022-03-04
> > > 13:07:39 +0100)>
> > > ----------------------------------------------------------------
> > > 9pfs: introduce macOS host support and cleanup
> > >
> > > * Add support for Darwin (a.k.a. macOS) hosts.
> > >
> > > * Code cleanup (move qemu_dirent_dup() from osdep -> 9p-util).
> > >
> > > * API doc cleanup (convert Doxygen -> kerneldoc format).
> >
> > This fails to build on my OSX box:
> >
> > In file included from ../../hw/9pfs/9p-util-darwin.c:12:
> > ../../hw/9pfs/9p-util.h:57:1: error: unused label 'again'
> > [-Werror,-Wunused-label]
> > again:
> > ^~~~~~
> >
> > because the use of the label is inside a #ifndef CONFIG_DARWIN
> > but the definition is not.
> >
> > thanks
> > -- PMM
>
> So basically it needs this change:
>
> diff --git a/hw/9pfs/9p-util.h b/hw/9pfs/9p-util.h
> index cfa7af43c5..97e681e167 100644
> --- a/hw/9pfs/9p-util.h
> +++ b/hw/9pfs/9p-util.h
> @@ -54,7 +54,9 @@ static inline int openat_file(int dirfd, const char
> *name,
> int flags,
> {
> int fd, serrno, ret;
>
> +#ifndef CONFIG_DARWIN
> again:
> +#endif
> fd = openat(dirfd, name, flags | O_NOFOLLOW | O_NOCTTY | O_NONBLOCK,
> mode);
> if (fd == -1) {
>
> Will, can you check why this did not fail there and whether there are
> probably
> more issues?
>
> If that's the only one, let me know, then I would fix this on my end and
> resend a PR ASAP. Thanks!
These were just warnings for me so I didn’t worry about them. Will check
where else it appears when building!
>
> Best regards,
> Christian Schoenebeck
>
>
>
On Fri, Mar 4, 2022 at 4:31 PM Will Cohen <wwcohen@gmail.com> wrote:
> On Fri, Mar 4, 2022 at 3:16 PM Christian Schoenebeck <
> qemu_oss@crudebyte.com> wrote:
>
>> On Freitag, 4. März 2022 19:42:18 CET Peter Maydell wrote:
>> > On Fri, 4 Mar 2022 at 12:32, Christian Schoenebeck
>> >
>> > <qemu_oss@crudebyte.com> wrote:
>> > > The following changes since commit
>> 5959ef7d431ffd02db112209cf55e47b677256fd:
>> > > Merge remote-tracking branch
>> > > 'remotes/alistair/tags/pull-riscv-to-apply-20220303' into staging
>> > > (2022-03-03 19:59:38 +0000)>
>> > > are available in the Git repository at:
>> > > https://github.com/cschoenebeck/qemu.git tags/pull-9p-20220304
>> > >
>> > > for you to fetch changes up to
>> 39edfe337c418995b2932a9a14a612fb0c329dc5:
>> > > fsdev/p9array.h: convert Doxygen -> kerneldoc format (2022-03-04
>> > > 13:07:39 +0100)>
>> > > ----------------------------------------------------------------
>> > > 9pfs: introduce macOS host support and cleanup
>> > >
>> > > * Add support for Darwin (a.k.a. macOS) hosts.
>> > >
>> > > * Code cleanup (move qemu_dirent_dup() from osdep -> 9p-util).
>> > >
>> > > * API doc cleanup (convert Doxygen -> kerneldoc format).
>> >
>> > This fails to build on my OSX box:
>> >
>> > In file included from ../../hw/9pfs/9p-util-darwin.c:12:
>> > ../../hw/9pfs/9p-util.h:57:1: error: unused label 'again'
>> > [-Werror,-Wunused-label]
>> > again:
>> > ^~~~~~
>> >
>> > because the use of the label is inside a #ifndef CONFIG_DARWIN
>> > but the definition is not.
>> >
>> > thanks
>> > -- PMM
>>
>> So basically it needs this change:
>>
>> diff --git a/hw/9pfs/9p-util.h b/hw/9pfs/9p-util.h
>> index cfa7af43c5..97e681e167 100644
>> --- a/hw/9pfs/9p-util.h
>> +++ b/hw/9pfs/9p-util.h
>> @@ -54,7 +54,9 @@ static inline int openat_file(int dirfd, const char
>> *name,
>> int flags,
>> {
>> int fd, serrno, ret;
>>
>> +#ifndef CONFIG_DARWIN
>> again:
>> +#endif
>> fd = openat(dirfd, name, flags | O_NOFOLLOW | O_NOCTTY | O_NONBLOCK,
>> mode);
>> if (fd == -1) {
>>
>> Will, can you check why this did not fail there and whether there are
>> probably
>> more issues?
>>
>> If that's the only one, let me know, then I would fix this on my end and
>> resend a PR ASAP. Thanks!
>
>
> These were just warnings for me so I didn’t worry about them. Will check
> where else it appears when building!
>
When building using 9p.next, here's the full extent of warnings I see. It
appears it's just that one again at 9p-util.h:57.
In file included from ../hw/9pfs/9p-xattr.c:23:
../hw/9pfs/9p-util.h:57:1: warning: unused label 'again' [-Wunused-label]
again:
^~~~~~
1 warning generated.
[3690/6798] Compiling C object libcommon.fa.p/hw_9pfs_9p-synth.c.o
[3691/6798] Compiling C object libcommon.fa.p/hw_9pfs_9p-local.c.o
In file included from ../hw/9pfs/9p-local.c:22:
../hw/9pfs/9p-util.h:57:1: warning: unused label 'again' [-Wunused-label]
again:
^~~~~~
1 warning generated.
[3692/6798] Compiling C object libcommon.fa.p/hw_9pfs_codir.c.o
In file included from ../hw/9pfs/codir.c:26:
../hw/9pfs/9p-util.h:57:1: warning: unused label 'again' [-Wunused-label]
again:
^~~~~~
1 warning generated.
[3693/6798] Compiling C object libcommon.fa.p/hw_9pfs_coth.c.o
[3694/6798] Compiling C object libcommon.fa.p/hw_9pfs_cofile.c.o
[3695/6798] Compiling C object libcommon.fa.p/hw_9pfs_9p-proxy.c.o
[3696/6798] Compiling C object libcommon.fa.p/hw_9pfs_9p-util-darwin.c.o
In file included from ../hw/9pfs/9p-util-darwin.c:12:
../hw/9pfs/9p-util.h:57:1: warning: unused label 'again' [-Wunused-label]
again:
^~~~~~
1 warning generated.
In file included from ../hw/9pfs/9p.c:30:
../hw/9pfs/9p-util.h:57:1: warning: unused label 'again' [-Wunused-label]
again:
^~~~~~
1 warning generated.
>
>>
>> Best regards,
>> Christian Schoenebeck
>>
>>
>>
On Sonntag, 6. März 2022 21:59:55 CET Will Cohen wrote:
> On Fri, Mar 4, 2022 at 4:31 PM Will Cohen <wwcohen@gmail.com> wrote:
> > On Fri, Mar 4, 2022 at 3:16 PM Christian Schoenebeck <
> >
> > qemu_oss@crudebyte.com> wrote:
> >> On Freitag, 4. März 2022 19:42:18 CET Peter Maydell wrote:
> >> > On Fri, 4 Mar 2022 at 12:32, Christian Schoenebeck
> >> >
> >> > <qemu_oss@crudebyte.com> wrote:
> >> > > The following changes since commit
> >>
> >> 5959ef7d431ffd02db112209cf55e47b677256fd:
> >> > > Merge remote-tracking branch
> >> > > 'remotes/alistair/tags/pull-riscv-to-apply-20220303' into staging
> >> > > (2022-03-03 19:59:38 +0000)>
> >> > >
> >> > > are available in the Git repository at:
> >> > > https://github.com/cschoenebeck/qemu.git tags/pull-9p-20220304
> >> > >
> >> > > for you to fetch changes up to
> >>
> >> 39edfe337c418995b2932a9a14a612fb0c329dc5:
> >> > > fsdev/p9array.h: convert Doxygen -> kerneldoc format (2022-03-04
> >> > > 13:07:39 +0100)>
> >> > >
> >> > > ----------------------------------------------------------------
> >> > > 9pfs: introduce macOS host support and cleanup
> >> > >
> >> > > * Add support for Darwin (a.k.a. macOS) hosts.
> >> > >
> >> > > * Code cleanup (move qemu_dirent_dup() from osdep -> 9p-util).
> >> > >
> >> > > * API doc cleanup (convert Doxygen -> kerneldoc format).
> >> >
> >> > This fails to build on my OSX box:
> >> >
> >> > In file included from ../../hw/9pfs/9p-util-darwin.c:12:
> >> > ../../hw/9pfs/9p-util.h:57:1: error: unused label 'again'
> >> > [-Werror,-Wunused-label]
> >> > again:
> >> > ^~~~~~
> >> >
> >> > because the use of the label is inside a #ifndef CONFIG_DARWIN
> >> > but the definition is not.
> >> >
> >> > thanks
> >> > -- PMM
> >>
> >> So basically it needs this change:
> >>
> >> diff --git a/hw/9pfs/9p-util.h b/hw/9pfs/9p-util.h
> >> index cfa7af43c5..97e681e167 100644
> >> --- a/hw/9pfs/9p-util.h
> >> +++ b/hw/9pfs/9p-util.h
> >> @@ -54,7 +54,9 @@ static inline int openat_file(int dirfd, const char
> >> *name,
> >> int flags,
> >>
> >> {
> >>
> >> int fd, serrno, ret;
> >>
> >> +#ifndef CONFIG_DARWIN
> >>
> >> again:
> >> +#endif
> >>
> >> fd = openat(dirfd, name, flags | O_NOFOLLOW | O_NOCTTY | O_NONBLOCK,
> >>
> >> mode);
> >>
> >> if (fd == -1) {
> >>
> >> Will, can you check why this did not fail there and whether there are
> >> probably
> >> more issues?
> >>
> >> If that's the only one, let me know, then I would fix this on my end and
> >> resend a PR ASAP. Thanks!
> >
> > These were just warnings for me so I didn’t worry about them. Will check
> > where else it appears when building!
>
> When building using 9p.next, here's the full extent of warnings I see. It
> appears it's just that one again at 9p-util.h:57.
>
> In file included from ../hw/9pfs/9p-xattr.c:23:
> ../hw/9pfs/9p-util.h:57:1: warning: unused label 'again' [-Wunused-label]
> again:
> ^~~~~~
> 1 warning generated.
> [3690/6798] Compiling C object libcommon.fa.p/hw_9pfs_9p-synth.c.o
> [3691/6798] Compiling C object libcommon.fa.p/hw_9pfs_9p-local.c.o
> In file included from ../hw/9pfs/9p-local.c:22:
> ../hw/9pfs/9p-util.h:57:1: warning: unused label 'again' [-Wunused-label]
> again:
> ^~~~~~
> 1 warning generated.
> [3692/6798] Compiling C object libcommon.fa.p/hw_9pfs_codir.c.o
> In file included from ../hw/9pfs/codir.c:26:
> ../hw/9pfs/9p-util.h:57:1: warning: unused label 'again' [-Wunused-label]
> again:
> ^~~~~~
> 1 warning generated.
> [3693/6798] Compiling C object libcommon.fa.p/hw_9pfs_coth.c.o
> [3694/6798] Compiling C object libcommon.fa.p/hw_9pfs_cofile.c.o
> [3695/6798] Compiling C object libcommon.fa.p/hw_9pfs_9p-proxy.c.o
> [3696/6798] Compiling C object libcommon.fa.p/hw_9pfs_9p-util-darwin.c.o
> In file included from ../hw/9pfs/9p-util-darwin.c:12:
> ../hw/9pfs/9p-util.h:57:1: warning: unused label 'again' [-Wunused-label]
> again:
> ^~~~~~
> 1 warning generated.
> In file included from ../hw/9pfs/9p.c:30:
> ../hw/9pfs/9p-util.h:57:1: warning: unused label 'again' [-Wunused-label]
> again:
> ^~~~~~
> 1 warning generated.
OK, I'll fix this (single) issue on my end then exactly as suggested by me,
and I'll send a new PR today. Thanks!
Best regards,
Christian Schoenebeck
On Fri, 4 Mar 2022 16:31:07 -0500
Will Cohen <wwcohen@gmail.com> wrote:
> On Fri, Mar 4, 2022 at 3:16 PM Christian Schoenebeck <qemu_oss@crudebyte.com>
> wrote:
>
> > On Freitag, 4. März 2022 19:42:18 CET Peter Maydell wrote:
> > > On Fri, 4 Mar 2022 at 12:32, Christian Schoenebeck
> > >
> > > <qemu_oss@crudebyte.com> wrote:
> > > > The following changes since commit
> > 5959ef7d431ffd02db112209cf55e47b677256fd:
> > > > Merge remote-tracking branch
> > > > 'remotes/alistair/tags/pull-riscv-to-apply-20220303' into staging
> > > > (2022-03-03 19:59:38 +0000)>
> > > > are available in the Git repository at:
> > > > https://github.com/cschoenebeck/qemu.git tags/pull-9p-20220304
> > > >
> > > > for you to fetch changes up to
> > 39edfe337c418995b2932a9a14a612fb0c329dc5:
> > > > fsdev/p9array.h: convert Doxygen -> kerneldoc format (2022-03-04
> > > > 13:07:39 +0100)>
> > > > ----------------------------------------------------------------
> > > > 9pfs: introduce macOS host support and cleanup
> > > >
> > > > * Add support for Darwin (a.k.a. macOS) hosts.
> > > >
> > > > * Code cleanup (move qemu_dirent_dup() from osdep -> 9p-util).
> > > >
> > > > * API doc cleanup (convert Doxygen -> kerneldoc format).
> > >
> > > This fails to build on my OSX box:
> > >
> > > In file included from ../../hw/9pfs/9p-util-darwin.c:12:
> > > ../../hw/9pfs/9p-util.h:57:1: error: unused label 'again'
> > > [-Werror,-Wunused-label]
> > > again:
> > > ^~~~~~
> > >
> > > because the use of the label is inside a #ifndef CONFIG_DARWIN
> > > but the definition is not.
> > >
> > > thanks
> > > -- PMM
> >
> > So basically it needs this change:
> >
> > diff --git a/hw/9pfs/9p-util.h b/hw/9pfs/9p-util.h
> > index cfa7af43c5..97e681e167 100644
> > --- a/hw/9pfs/9p-util.h
> > +++ b/hw/9pfs/9p-util.h
> > @@ -54,7 +54,9 @@ static inline int openat_file(int dirfd, const char
> > *name,
> > int flags,
> > {
> > int fd, serrno, ret;
> >
> > +#ifndef CONFIG_DARWIN
> > again:
> > +#endif
> > fd = openat(dirfd, name, flags | O_NOFOLLOW | O_NOCTTY | O_NONBLOCK,
> > mode);
> > if (fd == -1) {
> >
> > Will, can you check why this did not fail there and whether there are
> > probably
> > more issues?
> >
> > If that's the only one, let me know, then I would fix this on my end and
> > resend a PR ASAP. Thanks!
>
>
> These were just warnings for me so I didn’t worry about them. Will check
> where else it appears when building!
>
Compiler warnings are frowned upon in the QEMU community since they
likely point to something that isn't right in your code. As you
might see, Peter's build has -Werror set and so have the builds
in the gitlab CI. Please consider passing --enable-werror to
configure, at least when you're about to post to the list.
>
> >
> > Best regards,
> > Christian Schoenebeck
> >
> >
> >
© 2016 - 2026 Red Hat, Inc.