On Wed, Jun 05, 2024 at 12:47:39PM +0400, Marc-André Lureau wrote:
> Hi
>
> On Tue, Jun 4, 2024 at 5:50 PM Daniel P. Berrangé <berrange@redhat.com>
> wrote:
>
> > Defining these at the meson level allows them to be used a conditional
> > tests in the QAPI schemas.
> >
> > Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> > ---
> > meson.build | 18 ++++++++++++++++++
> > qga/commands-common.h | 9 ---------
> > 2 files changed, 18 insertions(+), 9 deletions(-)
> >
> > diff --git a/meson.build b/meson.build
> > index 6386607144..356b2a4817 100644
> > --- a/meson.build
> > +++ b/meson.build
> > @@ -2141,6 +2141,22 @@ have_virtfs_proxy_helper =
> > get_option('virtfs_proxy_helper') \
> > .require(libcap_ng.found(), error_message: 'the virtfs proxy helper
> > requires libcap-ng') \
> > .allowed()
> >
> > +qga_fsfreeze = false
> > +qga_fstrim = false
> > +if host_os == 'windows'
> > + qga_fsfreeze = true
> > + qga_fstrim = true
> >
>
> The hook code in qga/main.c compiles for win32, but it is not used. Did you
> intentionally enabled that?
Oh whoops, yes, that is an oversight. I was initially thinking
that CONFIG_FSFREEZE was used in commands-win32.c, since it has
a freeze impl, but I forgot I later learnt it was unconditional.
So we don't need to set these for meson vars for windows.
>
> +elif host_os == 'linux'
> > + if cc.has_header_symbol('linux/fs.h', 'FIFREEZE')
> > + qga_fsfreeze = true
> > + endif
> > + if cc.has_header_symbol('linux/fs.h', 'FITRIM')
> > + qga_fstrim = true
> > + endif
> > +elif host_os == 'freebsd' and cc.has_header_symbol('ufs/ffs/fs.h',
> > 'UFSSUSPEND')
> > + qga_fsfreeze = true
> > +endif
> > +
> > if get_option('block_drv_ro_whitelist') == ''
> > config_host_data.set('CONFIG_BDRV_RO_WHITELIST', '')
> > else
> > @@ -2375,6 +2391,8 @@ config_host_data.set('CONFIG_DEBUG_TCG',
> > get_option('debug_tcg'))
> > config_host_data.set('CONFIG_DEBUG_REMAP', get_option('debug_remap'))
> > config_host_data.set('CONFIG_QOM_CAST_DEBUG',
> > get_option('qom_cast_debug'))
> > config_host_data.set('CONFIG_REPLICATION',
> > get_option('replication').allowed())
> > +config_host_data.set('CONFIG_FSFREEZE', qga_fsfreeze)
> > +config_host_data.set('CONFIG_FSTRIM', qga_fstrim)
> >
> > # has_header
> > config_host_data.set('CONFIG_EPOLL', cc.has_header('sys/epoll.h'))
> > diff --git a/qga/commands-common.h b/qga/commands-common.h
> > index 8c1c56aac9..263e7c0525 100644
> > --- a/qga/commands-common.h
> > +++ b/qga/commands-common.h
> > @@ -15,19 +15,10 @@
> >
> > #if defined(__linux__)
> > #include <linux/fs.h>
> > -#ifdef FIFREEZE
> > -#define CONFIG_FSFREEZE
> > -#endif
> > -#ifdef FITRIM
> > -#define CONFIG_FSTRIM
> > -#endif
> > #endif /* __linux__ */
> >
> > #ifdef __FreeBSD__
> > #include <ufs/ffs/fs.h>
> > -#ifdef UFSSUSPEND
> > -#define CONFIG_FSFREEZE
> > -#endif
> > #endif /* __FreeBSD__ */
> >
> > #if defined(CONFIG_FSFREEZE) || defined(CONFIG_FSTRIM)
> > --
> > 2.45.1
> >
> >
> >
>
> --
> Marc-André Lureau
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|