[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v9 11/11] 9p: darwin: meson: Allow VirtFS on Darwin
|
From: |
Christian Schoenebeck |
|
Subject: |
Re: [PATCH v9 11/11] 9p: darwin: meson: Allow VirtFS on Darwin |
|
Date: |
Mon, 28 Feb 2022 14:11:09 +0100 |
On Sonntag, 27. Februar 2022 23:35:22 CET Will Cohen wrote:
> From: Keno Fischer <keno@juliacomputing.com>
>
> To allow VirtFS on darwin, we need to check that pthread_fchdir_np is
> available, which has only been available since macOS 10.12.
>
> Additionally, virtfs_proxy_helper is disabled on Darwin. This patch
> series does not currently provide an implementation of the proxy-helper,
> but this functionality could be implemented later on.
>
> 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>
Paolo, could you have a look at this patch, please? It has changed quite a bit
since your review.
Best regards,
Christian Schoenebeck
> [Will Cohen: - Add check for pthread_fchdir_np to virtfs
> - Add comments to patch commit
> - Note that virtfs_proxy_helper does not work
> on macOS
> - Fully adjust meson virtfs error note to specify
> macOS
> - Rebase to master]
> Signed-off-by: Will Cohen <wwcohen@gmail.com>
> ---
> fsdev/meson.build | 1 +
> meson.build | 12 +++++++-----
> 2 files changed, 8 insertions(+), 5 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 3f8dca2c7a..ba52ed9e9a 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -1450,14 +1450,16 @@ dbus_display = get_option('dbus_display') \
> .allowed()
>
> have_virtfs = get_option('virtfs') \
> - .require(targetos == 'linux',
> - error_message: 'virtio-9p (virtfs) requires Linux') \
> - .require(libattr.found() and libcap_ng.found(),
> - error_message: 'virtio-9p (virtfs) requires libcap-ng-devel and
> libattr-devel') \
> + .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()
>
> -have_virtfs_proxy_helper = have_virtfs and have_tools
> +have_virtfs_proxy_helper = targetos != 'darwin' and have_virtfs and
> have_tools
>
> foreach k : get_option('trace_backends')
> config_host_data.set('CONFIG_TRACE_' + k.to_upper(), true)