From: Christian Schoenebeck <qemu_oss@crudebyte.com>
To: qemu-devel@nongnu.org
Cc: Will Cohen <wwcohen@gmail.com>,
Laurent Vivier <lvivier@redhat.com>,
Thomas Huth <thuth@redhat.com>, Greg Kurz <groug@kaod.org>,
hi@alyssa.is, Michael Roitzsch <reactorcontrol@icloud.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Keno Fischer <keno@juliacomputing.com>
Subject: Re: [PATCH v4 10/11] 9p: darwin: meson: Allow VirtFS on Darwin
Date: Mon, 07 Feb 2022 16:38:54 +0100 [thread overview]
Message-ID: <2241459.8USET5ScEs@silver> (raw)
In-Reply-To: <CAB26zV2hBsWzTYSTm07Ck20Awyy2at0-uCBmvqrsK7BjxSrfuw@mail.gmail.com>
On Montag, 7. Februar 2022 15:37:00 CET Will Cohen wrote:
> On Mon, Feb 7, 2022 at 9:27 AM Christian Schoenebeck
> <qemu_oss@crudebyte.com>
> wrote:
> > On Sonntag, 6. Februar 2022 21:07:18 CET Will Cohen wrote:
> > > From: Keno Fischer <keno@juliacomputing.com>
> > >
> > > Signed-off-by: Keno Fischer <keno@juliacomputing.com>
> > > [Michael Roitzsch: - Rebase for NixOS]
> > > Signed-off-by: Michael Roitzsch <reactorcontrol@icloud.com>
> > > [Will Cohen: - Rebase to master]
> > > Signed-off-by: Will Cohen <wwcohen@gmail.com>
> > > Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
> > > [Will Cohen: - Add check for pthread_fchdir_np to virtfs]
> > > Signed-off-by: Will Cohen <wwcohen@gmail.com>
> > > ---
> > >
> > > fsdev/meson.build | 1 +
> > > meson.build | 14 ++++++++++----
> > > 2 files changed, 11 insertions(+), 4 deletions(-)
> > >
> > > diff --git a/fsdev/meson.build b/fsdev/meson.build
> > > index adf57cc43e..b632b66348 100644
> > > --- a/fsdev/meson.build
> > > +++ b/fsdev/meson.build
> > > @@ -7,6 +7,7 @@ fsdev_ss.add(when: ['CONFIG_FSDEV_9P'], if_true: files(
> > >
> > > 'qemu-fsdev.c',
> > >
> > > ), if_false: files('qemu-fsdev-dummy.c'))
> > > softmmu_ss.add_all(when: 'CONFIG_LINUX', if_true: fsdev_ss)
> > >
> > > +softmmu_ss.add_all(when: 'CONFIG_DARWIN', if_true: fsdev_ss)
> > >
> > > if have_virtfs_proxy_helper
> > >
> > > executable('virtfs-proxy-helper',
> > >
> > > diff --git a/meson.build b/meson.build
> > > index 5f43355071..6b4adf7e15 100644
> > > --- a/meson.build
> > > +++ b/meson.build
> > > @@ -1421,17 +1421,23 @@ if not get_option('dbus_display').disabled()
> > >
> > > endif
> > >
> > > endif
> > >
> > > -have_virtfs = (targetos == 'linux' and
> > > +if targetos == 'darwin' and cc.has_function('pthread_fchdir_np')
> > > + have_virtfs = have_system
> >
> > As you are going for a v5 anyway: I would add an error message here if
> > pthread_fchdir_np() is not available. Because it is a bit frustrating for
> > users if their options silently got ignored without any indication why.
> >
> > > +else
> > > + have_virtfs = (targetos == 'linux' and
> > >
> > > have_system and
> > > libattr.found() and
> > > libcap_ng.found())
> > >
> > > +endif
> > >
> > > -have_virtfs_proxy_helper = have_virtfs and have_tools
> > > +have_virtfs_proxy_helper = targetos == 'linux' and have_virtfs and
> > > have_tools
> > >
> > > if get_option('virtfs').enabled()
> > >
> > > if not have_virtfs
> > >
> > > - if targetos != 'linux'
> > > - error('virtio-9p (virtfs) requires Linux')
> > > + if targetos != 'linux' and targetos != 'darwin'
> > > + error('virtio-9p (virtfs) requires Linux or Darwin')
> > > + elif targetos == 'darwin' and not
> >
> > cc.has_function('pthread_fchdir_np')
> >
> > > + error('virtio-9p (virtfs) on Darwin requires the presence of
> > > pthread_fchdir_np')
>
> Does the error message here suffice for that need? Right now if they're
> running a system without pthread_fchdir_np and don't specify the option, I
> think it'll just quietly disable, but if they --enable-virtfs and the
> function isn't there, they should get a note. I assume this is better, so
> that the ability to compile isn't contingent on having the latest OS, even
> if full support for older OSes isn't provided.
Ah, got it. Yes, makes sense.
But what I would definitely change is the precise error message text here:
"Darwin" is a bit awkward for a regular user, because most macOS users never
heard of "Darwin" in the context of Apple systems before. Using the term
"darwin" in code is fine as it can be assumed that developers know the
background, but as for regular users I would make it more clear that this is
actually about macOS, e.g:
error('virtio-9p (virtfs) requires either Linux or Darwin (macOS)')
I don't mind how to write that exactly; braces, slash, replacing Darwin by
macOS or whatever, but it should mention 'macOS' here in some form.
> > elif not libcap_ng.found() or not libattr.found()
> >
> > > error('virtio-9p (virtfs) requires libcap-ng-devel and
> > >
> > > libattr-devel') elif not have_system
next prev parent reply other threads:[~2022-02-07 16:33 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-06 20:07 [PATCH v4 00/11] 9p: Add support for darwin Will Cohen
2022-02-06 20:07 ` [PATCH v4 01/11] 9p: linux: Fix a couple Linux assumptions Will Cohen
2022-02-06 21:15 ` Philippe Mathieu-Daudé via
2022-02-07 8:03 ` Greg Kurz
2022-02-06 20:07 ` [PATCH v4 02/11] 9p: Rename 9p-util -> 9p-util-linux Will Cohen
2022-02-06 21:16 ` Philippe Mathieu-Daudé via
2022-02-06 20:07 ` [PATCH v4 03/11] 9p: darwin: Handle struct stat(fs) differences Will Cohen
2022-02-06 20:07 ` [PATCH v4 04/11] 9p: darwin: Handle struct dirent differences Will Cohen
2022-02-07 9:53 ` Fabian Franz
2022-02-07 13:52 ` Will Cohen
2022-02-07 17:05 ` Christian Schoenebeck
2022-02-07 14:41 ` Christian Schoenebeck
2022-02-07 16:41 ` Will Cohen
2022-02-06 20:07 ` [PATCH v4 05/11] 9p: darwin: Ignore O_{NOATIME, DIRECT} Will Cohen
2022-02-06 20:07 ` [PATCH v4 06/11] 9p: darwin: Move XATTR_SIZE_MAX->P9_XATTR_SIZE_MAX Will Cohen
2022-02-06 20:07 ` [PATCH v4 07/11] 9p: darwin: *xattr_nofollow implementations Will Cohen
2022-02-06 20:07 ` [PATCH v4 08/11] 9p: darwin: Compatibility for f/l*xattr Will Cohen
2022-02-06 20:07 ` [PATCH v4 09/11] 9p: darwin: Implement compatibility for mknodat Will Cohen
2022-02-06 21:20 ` Philippe Mathieu-Daudé via
2022-02-07 1:10 ` Will Cohen
2022-02-07 8:47 ` Greg Kurz
2022-02-07 10:30 ` Philippe Mathieu-Daudé via
2022-02-07 10:49 ` Greg Kurz
2022-02-07 10:57 ` Dr. David Alan Gilbert
2022-02-07 14:21 ` Christian Schoenebeck
2022-02-07 21:07 ` Will Cohen
2022-02-07 22:37 ` Will Cohen
2022-02-07 22:47 ` Christian Schoenebeck
2022-02-07 22:55 ` Will Cohen
2022-02-07 15:52 ` Vivek Goyal
2022-02-06 20:07 ` [PATCH v4 10/11] 9p: darwin: meson: Allow VirtFS on Darwin Will Cohen
2022-02-06 21:22 ` Philippe Mathieu-Daudé via
2022-02-07 1:05 ` Will Cohen
2022-02-07 14:15 ` Christian Schoenebeck
2022-02-07 14:18 ` Will Cohen
2022-02-07 14:39 ` Greg Kurz
2022-02-07 16:04 ` Christian Schoenebeck
2022-02-07 14:27 ` Christian Schoenebeck
2022-02-07 14:37 ` Will Cohen
2022-02-07 15:38 ` Christian Schoenebeck [this message]
2022-02-06 20:07 ` [PATCH v4 11/11] 9p: darwin: Adjust assumption on virtio-9p-test Will Cohen
2022-02-07 6:15 ` Thomas Huth
2022-02-07 14:47 ` [PATCH v4 00/11] 9p: Add support for darwin Christian Schoenebeck
2022-02-07 14:56 ` Will Cohen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2241459.8USET5ScEs@silver \
--to=qemu_oss@crudebyte.com \
--cc=groug@kaod.org \
--cc=hi@alyssa.is \
--cc=keno@juliacomputing.com \
--cc=lvivier@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=reactorcontrol@icloud.com \
--cc=thuth@redhat.com \
--cc=wwcohen@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).