* [PATCH v1 1/1] util/async-teardown: wire up query-command-line-options
@ 2023-03-20 7:48 Claudio Imbrenda
2023-03-20 8:56 ` Thomas Huth
0 siblings, 1 reply; 3+ messages in thread
From: Claudio Imbrenda @ 2023-03-20 7:48 UTC (permalink / raw)
To: pbonzini
Cc: qemu-devel, david, thuth, borntraeger, frankja, fiuczy, pasic,
berrange, alex.bennee, armbru
The recently introduced -async-teardown commandline option was not
wired up properly and did not show up in the output of the QMP command
query-command-line-options. This means that libvirt will have no way to
discover whether the feature is supported.
This patch fixes the issue by correctly wiring up the commandline
option so that it appears in the output of query-command-line-options.
Reported-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Fixes: c891c24b1a ("os-posix: asynchronous teardown for shutdown on Linux")
Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
---
util/async-teardown.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/util/async-teardown.c b/util/async-teardown.c
index 62cdeb0f20..9a2e7bc146 100644
--- a/util/async-teardown.c
+++ b/util/async-teardown.c
@@ -12,6 +12,9 @@
*/
#include "qemu/osdep.h"
+#include "qemu/config-file.h"
+#include "qemu/option.h"
+#include "qemu/module.h"
#include <dirent.h>
#include <sys/prctl.h>
#include <sched.h>
@@ -144,3 +147,18 @@ void init_async_teardown(void)
clone(async_teardown_fn, new_stack_for_clone(), CLONE_VM, NULL);
sigprocmask(SIG_SETMASK, &old_signals, NULL);
}
+
+static QemuOptsList qemu_async_teardown_opts = {
+ .name = "async-teardown",
+ .implied_opt_name = "enable",
+ .head = QTAILQ_HEAD_INITIALIZER(qemu_async_teardown_opts.head),
+ .desc = {
+ { /* end of list */ }
+ },
+};
+
+static void register_async_teardown(void)
+{
+ qemu_add_opts(&qemu_async_teardown_opts);
+}
+opts_init(register_async_teardown);
--
2.39.2
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v1 1/1] util/async-teardown: wire up query-command-line-options
2023-03-20 7:48 [PATCH v1 1/1] util/async-teardown: wire up query-command-line-options Claudio Imbrenda
@ 2023-03-20 8:56 ` Thomas Huth
2023-03-20 9:13 ` Claudio Imbrenda
0 siblings, 1 reply; 3+ messages in thread
From: Thomas Huth @ 2023-03-20 8:56 UTC (permalink / raw)
To: Claudio Imbrenda, pbonzini
Cc: qemu-devel, david, borntraeger, frankja, fiuczy, pasic, berrange,
alex.bennee, armbru
On 20/03/2023 08.48, Claudio Imbrenda wrote:
> The recently introduced -async-teardown commandline option was not
> wired up properly and did not show up in the output of the QMP command
> query-command-line-options. This means that libvirt will have no way to
> discover whether the feature is supported.
>
> This patch fixes the issue by correctly wiring up the commandline
> option so that it appears in the output of query-command-line-options.
>
> Reported-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
> Fixes: c891c24b1a ("os-posix: asynchronous teardown for shutdown on Linux")
> Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
> ---
> util/async-teardown.c | 18 ++++++++++++++++++
> 1 file changed, 18 insertions(+)
>
> diff --git a/util/async-teardown.c b/util/async-teardown.c
> index 62cdeb0f20..9a2e7bc146 100644
> --- a/util/async-teardown.c
> +++ b/util/async-teardown.c
> @@ -12,6 +12,9 @@
> */
>
> #include "qemu/osdep.h"
> +#include "qemu/config-file.h"
> +#include "qemu/option.h"
> +#include "qemu/module.h"
> #include <dirent.h>
> #include <sys/prctl.h>
> #include <sched.h>
> @@ -144,3 +147,18 @@ void init_async_teardown(void)
> clone(async_teardown_fn, new_stack_for_clone(), CLONE_VM, NULL);
> sigprocmask(SIG_SETMASK, &old_signals, NULL);
> }
> +
> +static QemuOptsList qemu_async_teardown_opts = {
> + .name = "async-teardown",
> + .implied_opt_name = "enable",
Are you sure about the "implied_opt_name" field? If I got that right, it's
used for options where you can omit the part before the "=" in the first
paramter, e.g.
-netdev user
is the same as:
-netdev type=user
... but as far as I can see, there is no way to use
-async-teardown enable=off
at the command line?
Thomas
> + .head = QTAILQ_HEAD_INITIALIZER(qemu_async_teardown_opts.head),
> + .desc = {
> + { /* end of list */ }
> + },
> +};
> +
> +static void register_async_teardown(void)
> +{
> + qemu_add_opts(&qemu_async_teardown_opts);
> +}
> +opts_init(register_async_teardown);
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v1 1/1] util/async-teardown: wire up query-command-line-options
2023-03-20 8:56 ` Thomas Huth
@ 2023-03-20 9:13 ` Claudio Imbrenda
0 siblings, 0 replies; 3+ messages in thread
From: Claudio Imbrenda @ 2023-03-20 9:13 UTC (permalink / raw)
To: Thomas Huth
Cc: pbonzini, qemu-devel, david, borntraeger, frankja, fiuczy, pasic,
berrange, alex.bennee, armbru
On Mon, 20 Mar 2023 09:56:05 +0100
Thomas Huth <thuth@redhat.com> wrote:
> On 20/03/2023 08.48, Claudio Imbrenda wrote:
> > The recently introduced -async-teardown commandline option was not
> > wired up properly and did not show up in the output of the QMP command
> > query-command-line-options. This means that libvirt will have no way to
> > discover whether the feature is supported.
> >
> > This patch fixes the issue by correctly wiring up the commandline
> > option so that it appears in the output of query-command-line-options.
> >
> > Reported-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
> > Fixes: c891c24b1a ("os-posix: asynchronous teardown for shutdown on Linux")
> > Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
> > ---
> > util/async-teardown.c | 18 ++++++++++++++++++
> > 1 file changed, 18 insertions(+)
> >
> > diff --git a/util/async-teardown.c b/util/async-teardown.c
> > index 62cdeb0f20..9a2e7bc146 100644
> > --- a/util/async-teardown.c
> > +++ b/util/async-teardown.c
> > @@ -12,6 +12,9 @@
> > */
> >
> > #include "qemu/osdep.h"
> > +#include "qemu/config-file.h"
> > +#include "qemu/option.h"
> > +#include "qemu/module.h"
> > #include <dirent.h>
> > #include <sys/prctl.h>
> > #include <sched.h>
> > @@ -144,3 +147,18 @@ void init_async_teardown(void)
> > clone(async_teardown_fn, new_stack_for_clone(), CLONE_VM, NULL);
> > sigprocmask(SIG_SETMASK, &old_signals, NULL);
> > }
> > +
> > +static QemuOptsList qemu_async_teardown_opts = {
> > + .name = "async-teardown",
> > + .implied_opt_name = "enable",
>
> Are you sure about the "implied_opt_name" field? If I got that right, it's
yeah that should not be there, I'll fix and send a v2
> used for options where you can omit the part before the "=" in the first
> paramter, e.g.
>
> -netdev user
>
> is the same as:
>
> -netdev type=user
>
> ... but as far as I can see, there is no way to use
>
> -async-teardown enable=off
>
> at the command line?
>
> Thomas
>
>
> > + .head = QTAILQ_HEAD_INITIALIZER(qemu_async_teardown_opts.head),
> > + .desc = {
> > + { /* end of list */ }
> > + },
> > +};
> > +
> > +static void register_async_teardown(void)
> > +{
> > + qemu_add_opts(&qemu_async_teardown_opts);
> > +}
> > +opts_init(register_async_teardown);
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-03-20 9:14 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-20 7:48 [PATCH v1 1/1] util/async-teardown: wire up query-command-line-options Claudio Imbrenda
2023-03-20 8:56 ` Thomas Huth
2023-03-20 9:13 ` Claudio Imbrenda
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).