Juan Quintela writes:
> Use blockdev-mirror with NBD instead.
>
> Reviewed-by: Thomas Huth
> Acked-by: Stefan Hajnoczi
> Reviewed-by: Markus Armbruster
> Signed-off-by: Juan Quintela
> ---
> docs/about/deprecated.rst | 9 +
> qapi/mi
Juan Quintela writes:
> Markus Armbruster wrote:
>> Juan Quintela writes:
>>
>>> Signed-off-by: Juan Quintela
>>> Acked-by: Stefan Hajnoczi
>>> Acked-by: Peter Xu
>
>
>>> # @deprecated: Member @disk is deprecated because block m
Juan Quintela writes:
> Markus Armbruster wrote:
>> Juan Quintela writes:
>>
>>> Use blockdev-mirror with NBD instead.
>>>
>>> Reviewed-by: Thomas Huth
>>> Acked-by: Stefan Hajnoczi
>>> Signed-off-by: Juan Quintela
>&g
'features': [ 'deprecated' ] },
> '*throttle-trigger-threshold': 'uint8',
> '*cpu-throttle-initial': 'uint8',
> '*cpu-throttle-increment': 'uint8',
> @@ -1296,10 +1321,8 @@
> #
> # -> { "execute": "query-migrate-parameters" }
> # <- { "return": {
> -# "decompress-threads": 2,
> +# "multifd-channels": 2,
> # "cpu-throttle-increment": 10,
> -# "compress-threads": 8,
> -# "compress-level": 1,
> # "cpu-throttle-initial": 20,
> # "max-bandwidth": 33554432,
> # "downtime-limit": 300
Thanks again!
> diff --git a/migration/options.c b/migration/options.c
> index 0d0a3f8edb..7cb99a82a5 100644
> --- a/migration/options.c
> +++ b/migration/options.c
> @@ -483,6 +483,11 @@ bool migrate_caps_check(bool *old_caps, bool *new_caps,
> Error **errp)
> "Use blockdev-mirror with NBD instead.");
> }
>
> +if (new_caps[MIGRATION_CAPABILITY_COMPRESS]) {
> +warn_report("Old compression method is deprecated. "
> +"Use multifd compression methods instead.");
> +}
> +
> #ifndef CONFIG_REPLICATION
> if (new_caps[MIGRATION_CAPABILITY_X_COLO]) {
> error_setg(errp, "QEMU compiled without replication module"
> @@ -1321,18 +1326,26 @@ static void migrate_params_apply(MigrateSetParameters
> *params, Error **errp)
> /* TODO use QAPI_CLONE() instead of duplicating it inline */
>
> if (params->has_compress_level) {
> +warn_report("Old compression is deprecated. "
> +"Use multifd compression methods instead.");
> s->parameters.compress_level = params->compress_level;
> }
>
> if (params->has_compress_threads) {
> +warn_report("Old compression is deprecated. "
> +"Use multifd compression methods instead.");
> s->parameters.compress_threads = params->compress_threads;
> }
>
> if (params->has_compress_wait_thread) {
> +warn_report("Old compression is deprecated. "
> +"Use multifd compression methods instead.");
> s->parameters.compress_wait_thread = params->compress_wait_thread;
> }
>
> if (params->has_decompress_threads) {
> +warn_report("Old compression is deprecated. "
> +"Use multifd compression methods instead.");
> s->parameters.decompress_threads = params->decompress_threads;
> }
Other than that
Reviewed-by: Markus Armbruster
g_state.transferred);
>
> +warn_report("block migration is deprecated. Use blockdev-mirror with"
> +"NBD instead.");
warn_report("block migration is deprecated;"
" use blockdev-mirror with NBD instead.");
> +
> ret = init_blk_migration(f);
> if (ret < 0) {
> return ret;
> diff --git a/migration/options.c b/migration/options.c
> index 42fb818956..0d0a3f8edb 100644
> --- a/migration/options.c
> +++ b/migration/options.c
> @@ -12,6 +12,7 @@
> */
>
> #include "qemu/osdep.h"
> +#include "qemu/error-report.h"
> #include "exec/target_page.h"
> #include "qapi/clone-visitor.h"
> #include "qapi/error.h"
> @@ -473,10 +474,14 @@ bool migrate_caps_check(bool *old_caps, bool *new_caps,
> Error **errp)
> if (new_caps[MIGRATION_CAPABILITY_BLOCK]) {
> error_setg(errp, "QEMU compiled without old-style (blk/-b, inc/-i) "
> "block migration");
> -error_append_hint(errp, "Use drive_mirror+NBD instead.\n");
> +error_append_hint(errp, "Use blockdev-mirror with NBD instead.\n");
> return false;
> }
> #endif
> +if (new_caps[MIGRATION_CAPABILITY_BLOCK]) {
> +warn_report("Block migration is deprecated. "
> +"Use blockdev-mirror with NBD instead.");
Likewise.
> +}
>
> #ifndef CONFIG_REPLICATION
> if (new_caps[MIGRATION_CAPABILITY_X_COLO]) {
> @@ -1386,6 +1391,8 @@ static void migrate_params_apply(MigrateSetParameters
> *params, Error **errp)
> }
>
> if (params->has_block_incremental) {
> +warn_report("Block migration is deprecated. "
> +"Use blockdev-mirror with NBD instead.");
Likewise.
> s->parameters.block_incremental = params->block_incremental;
> }
> if (params->has_multifd_channels) {
Other than that
Reviewed-by: Markus Armbruster
) {
> diff --git a/migration/migration.c b/migration/migration.c
> index b8b3ba58df..4da7fcfe0f 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -1608,6 +1608,11 @@ static bool migrate_prepare(MigrationState *s, bool
> blk, bool blk_inc,
> " NBD instead");
> }
>
> +if (blk) {
> +warn_report("capability 'blk is deprecated. Use blockdev-mirror
> with"
> +" NBD instead");
> +}
Capability? Isn't this a parameter?
"'blk" lacks a closing single quote.
I figure we want
warn_report("parameter 'blk' is deprecated;"
" use blockdev-mirror with NBD instead.");
> +
> if (resume) {
> if (s->state != MIGRATION_STATUS_POSTCOPY_PAUSED) {
> error_setg(errp, "Cannot resume if there is no "
Other than that
Reviewed-by: Markus Armbruster
"
" use blockdev-mirror with NBD instead.");
> +}
> +
> qmp_migrate(uri, !!blk, blk, !!inc, inc,
> false, false, true, resume, &err);
> if (hmp_handle_error(mon, err)) {
> diff --git a/migration/migration.c b/migration/migration.c
> index 6ba5e145ac..b8b3ba58df 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -1603,6 +1603,11 @@ static bool migrate_prepare(MigrationState *s, bool
> blk, bool blk_inc,
> {
> Error *local_err = NULL;
>
> +if (blk_inc) {
> +warn_report("parameter 'inc' is deprecated. Use blockdev-mirror
> with"
> +" NBD instead");
Likewise.
> +}
> +
> if (resume) {
> if (s->state != MIGRATION_STATUS_POSTCOPY_PAUSED) {
> error_setg(errp, "Cannot resume if there is no "
Other than that
Reviewed-by: Markus Armbruster
Juan Quintela writes:
> Markus Armbruster wrote:
>> Juan Quintela writes:
>>
>>> Markus Armbruster wrote:
>>>> Juan Quintela writes:
>>> So what I want, I want to remove -i/-b in the next version (9.0?). For
>>> the other, I want to re
Juan Quintela writes:
> Markus Armbruster wrote:
>> Juan Quintela writes:
>>
>>> Set the 'block_incremental' migration parameter to 'true' instead.
>>>
>>> Reviewed-by: Thomas Huth
>>> Acked-by: Stefan Hajnoczi
>>
Juan Quintela writes:
> Set the 'block' migration capability to 'true' instead.
>
> Signed-off-by: Juan Quintela
> Acked-by: Stefan Hajnoczi
> Reviewed-by: Thomas Huth
>
> ---
>
> Improve documentation and style (markus)
> ---
> docs/about/deprecated.rst | 7 +++
> qapi/migration.json
Juan Quintela writes:
> Set the 'block_incremental' migration parameter to 'true' instead.
>
> Reviewed-by: Thomas Huth
> Acked-by: Stefan Hajnoczi
> Signed-off-by: Juan Quintela
>
> ---
>
> Improve documentation and style (thanks Markus)
> ---
> docs/about/deprecated.rst | 7 +++
> qapi/
compress only takes effect in
> # the ram bulk stage, after that, it will be disabled and only
> # xbzrle takes effect, this can help to minimize migration
> -# traffic. The feature is disabled by default. (since 2.4 )
> +# traffic. The feature is disabled by default. (since 2.4)
> #
> -# @events: generate events for each migration state change (since 2.4
> -# )
> +# @events: generate events for each migration state change (since 2.4)
> #
> # @auto-converge: If enabled, QEMU will automatically throttle down
> # the guest to speed up convergence of RAM migration. (since 1.6)
Reviewed-by: Markus Armbruster
Juan Quintela writes:
> Signed-off-by: Juan Quintela
> Acked-by: Peter Xu
> ---
> docs/about/deprecated.rst | 8 +++
> qapi/migration.json | 102 --
> migration/options.c | 13 +
> 3 files changed, 86 insertions(+), 37 deletions(-)
>
> dif
Juan Quintela writes:
> It is obsolete. It is better to use driver-mirror with NBD instead.
drive-mirror
Several more below.
>
> CC: Kevin Wolf
> CC: Eric Blake
> CC: Stefan Hajnoczi
> CC: Hanna Czenczek
>
> Signed-off-by: Juan Quintela
> ---
> docs/about/deprecated.rst | 10 ++
Juan Quintela writes:
> Set the 'block_incremental' migration parameter to 'true' instead.
>
> Reviewed-by: Thomas Huth
> Signed-off-by: Juan Quintela
> ---
> docs/about/deprecated.rst | 7 +++
> qapi/migration.json | 12 ++--
> migration/migration.c | 6 ++
> 3 fil
Wrong thread, please ignore.
\
>> -device tpm-crb,tpmdev=tpm0 \
>>
>> to use a remote emulator replace the first line with
>>
>> -tpmdev
>> "{'type':'mssim','id':'tpm0','command':{'type':inet,'host':'remo
Doesn't apply to master, and has no Based-on: tags telling me what to
apply first. Please advise :)
it clear they won't help.
> It doesn't seem to be a very good use of QEMU maintainers to
> spend their time in a dead project. Save our time by removing
> this orphan zombie code before the QEMU v8.2 release.
>
> Signed-off-by: Philippe Mathieu-Daudé
Your argument for short-cutting the grace period is compelling.
Acked-by: Markus Armbruster
Ján Tomko writes:
> On a Friday in 2023, Markus Armbruster wrote:
>>> { "sandbox", NULL, QEMU_CAPS_SECCOMP_SANDBOX },
>>
>>Does option -sandbox exist?
>>
>>It does since v1.2. If CONFIG_SECCOMP is off, actually using it is a
>>fatal err
Stefan, one question regarding your commit 40e07370f21 inline.
Peter Krempa writes:
[...]
> In fact I strive to eliminate it after your suggestions, but we can't
> still detect the few outstanding flags from anywhere else.
>
> List of currently outstanding queries using query-command-line-optio
Alex Bennée writes:
> I don't think I can remove the parameters directly but certainly mark
> them as deprecated.
>
> Reviewed-by: Stefan Hajnoczi
> Reviewed-by: Richard Henderson
> Reviewed-by: Philippe Mathieu-Daudé
> Signed-off-by: Alex Bennée
> Message-Id: <20230523125000.3674739-6-alex.b
* You use an f-string to concatenate strings, within a string
concatenation with operator +. Let's to mix two ways to do the same
thing.
* I find the way you break the long line hard to read.
I'd do
return (super()._top()
+ '# AUTOMATICALLY GENERATED by '
+ os.path.basename(sys.argv[0])
+ ', DO NOT MODIFY\n\n')
>
>
> @contextmanager
With that
Reviewed-by: Markus Armbruster
Peter Maydell writes:
> On Mon, 17 Apr 2023 at 17:40, Peter Maydell wrote:
>>
>> The command line option '-singlestep' and its HMP equivalent
>> the 'singlestep' command are very confusingly named, because
>> they have nothing to do with single-stepping the guest (either
>> via the gdb stub or b
Peter Maydell writes:
> On Tue, 25 Apr 2023 at 13:10, Markus Armbruster wrote:
>>
>> Peter Maydell writes:
>>
>> > -# Notes: @singlestep is enabled through the GDB stub
>> > +# Notes: @singlestep is enabled on the command line with
>> > +#
Peter Maydell writes:
> On Tue, 4 Apr 2023 at 09:25, Markus Armbruster wrote:
>>
>> In the title: "qmp:"
>>
>> Peter Maydell writes:
>> > diff --git a/qapi/run-state.json b/qapi/run-state.json
>> > index 9d34afa39e0..1de8c5c55d0 10
In the title: "qmp:"
Peter Maydell writes:
> The 'singlestep' member of StatusInfo has never done what
> the QMP documentation claims it does. What it actually
> reports is whether TCG is working in "one guest instruction
> per translation block" mode.
>
> Create a new 'one-insn-per-tb' member
[Resent with cc: qemu-devel and adjusted subject, sorry for the noise]
abologna at redhat.com (Andrea Bolognani) writes:
> On Mon, Feb 27, 2023 at 06:25:23PM +0100, Peter Krempa wrote:
>> On Mon, Feb 27, 2023 at 08:44:57 -0800, Andrea Bolognani wrote:
>> > This looks like you're checking whether
abologna at redhat.com (Andrea Bolognani) writes:
> On Mon, Feb 27, 2023 at 06:25:23PM +0100, Peter Krempa wrote:
>> On Mon, Feb 27, 2023 at 08:44:57 -0800, Andrea Bolognani wrote:
>> > This looks like you're checking whether -acpi itself exists as a
>> > top-level option. Which it doesn't, but -n
"Michael S. Tsirkin" writes:
> On Tue, Feb 28, 2023 at 09:05:16PM +0100, Thomas Huth wrote:
>> Well, without CI, I assume that the code will bitrot quite fast (considering
>> that there are continuous improvements to TCG, for example).
>
> We have lots of hosts which we don't test with CI. They
"Michael S. Tsirkin" writes:
> On Tue, Feb 28, 2023 at 11:39:39AM +0100, Markus Armbruster wrote:
>> The question to answer: Is 32 bit x86 worth its upkeep? Two
>> sub-questions: 1. Is it worth the human attention? 2. Is it worth
>> (scarce!) CI minutes?
>
&
"Michael S. Tsirkin" writes:
> On Tue, Feb 28, 2023 at 09:40:49AM +, Daniel P. Berrangé wrote:
>> On Tue, Feb 28, 2023 at 10:14:52AM +0100, Thomas Huth wrote:
>> > On 28/02/2023 10.03, Michael S. Tsirkin wrote:
>> > > On Tue, Feb 28, 2023 at 08:59:52AM +, Daniel P. Berrangé wrote:
>> > >
Stefan Weil writes:
> On Fri, Feb 17, 2023 at 11:36:41AM +0100, Markus Armbruster wrote:
>
>> Which 32-bit hosts are still useful, and why?
>
>
> Citing my previous mail:
>
>I now checked all downloads of the latests installers since 2022-12-30.
>
>
I feel the discussion petered out without a conclusion.
I don't think letting the status quo win by inertia is a good outcome
here.
Which 32-bit hosts are still useful, and why?
Please note my question is not about the cost of keeping them (or
savings from not keeping them), it's about the value
Vladimir Sementsov-Ogievskiy writes:
[...]
> So, if no objections, I plan to resend with old "optional id & qom_path"
> designation for devices. We still can do a deprecation in future.
Yes, please.
Daniel P. Berrangé writes:
> On Tue, Feb 14, 2023 at 12:57:28PM +0100, Markus Armbruster wrote:
>> Daniel P. Berrangé writes:
>>
>> > On Tue, Feb 14, 2023 at 09:54:22AM +0100, Markus Armbruster wrote:
>> >> Daniel P. Berrangé writes:
>> >>
Philippe Mathieu-Daudé writes:
> On 14/2/23 13:17, Markus Armbruster wrote:
>> Philippe Mathieu-Daudé writes:
>>
>>> On 14/2/23 12:49, Markus Armbruster wrote:
>>>> Daniel P. Berrangé writes:
>>
>> [...]
>>
>>>>> Wh
Philippe Mathieu-Daudé writes:
> On 14/2/23 12:49, Markus Armbruster wrote:
>> Daniel P. Berrangé writes:
[...]
>>> What's the documented way to construct a QOM path, given only an ID as
>>> input ?
>>
>> QOM paths a gap in our documentation, e
Daniel P. Berrangé writes:
> On Tue, Feb 14, 2023 at 09:54:22AM +0100, Markus Armbruster wrote:
>> Daniel P. Berrangé writes:
>>
>> > On Mon, Feb 13, 2023 at 05:01:01PM +0300, Vladimir Sementsov-Ogievskiy
>> > wrote:
>> >> The device field is redu
Markus Armbruster writes:
> Daniel P. Berrangé writes:
>
>> On Tue, Feb 14, 2023 at 10:25:22AM +0100, Peter Krempa wrote:
>>> On Tue, Feb 14, 2023 at 09:54:22 +0100, Markus Armbruster wrote:
>>> > Daniel P. Berrangé writes:
>>> >
>>>
Daniel P. Berrangé writes:
> On Tue, Feb 14, 2023 at 10:25:22AM +0100, Peter Krempa wrote:
>> On Tue, Feb 14, 2023 at 09:54:22 +0100, Markus Armbruster wrote:
>> > Daniel P. Berrangé writes:
>> >
>> > > On Mon, Feb 13, 2023 at 05:01:01PM +0300, Vla
Daniel P. Berrangé writes:
> On Mon, Feb 13, 2023 at 05:01:01PM +0300, Vladimir Sementsov-Ogievskiy wrote:
>> The device field is redundant, because QOM path always include device
>> ID when this ID exist.
>
> The flipside to that view is that applications configuring QEMU are
> specifying the de
Daniel P. Berrangé writes:
> Support for referencing secret objects was added in
>
> commit b189346eb1784df95ed6fed610411dbf23d19e1f
> Author: Daniel P. Berrangé
> Date: Thu Jan 21 14:19:21 2016 +
>
> iscsi: add support for getting CHAP password via QCryptoSecret API
>
> The exis
st
> +++ b/docs/about/removed-features.rst
> @@ -408,6 +408,13 @@ pcspk-audiodev=``.
>
> Use ``-device`` instead.
>
> +``-spice password=string`` (removed in 8.0)
> +'''''''''''''''''''''''''''''''''''''''''''
> +
> +This option is insecure because the SPICE password remains visible in
Nitpicking... since the option doesn't exist anymore, it can't *be*
insecure. It sure *was* insecure.
> +the process listing. This is replaced by the new ``password-secret``
> +option which lets the password be securely provided on the command
> +line using a ``secret`` object instance.
>
> QEMU Machine Protocol (QMP) commands
>
[...]
Reviewed-by: Markus Armbruster
Daniel P. Berrangé writes:
> Libvirt provides QMP passthrough APIs for the QEMU driver and these are
> exposed in virsh. It is not especially pleasant, however, using the raw
> QMP JSON syntax. QEMU has a tool 'qmp-shell' which can speak QMP and
> exposes a human friendly interactive shell. It is
Daniel P. Berrangé writes:
> On Thu, May 19, 2022 at 09:27:08AM +0200, Thomas Huth wrote:
>> On 19/05/2022 09.08, Thomas Huth wrote:
>> > On 19/05/2022 08.39, Thomas Huth wrote:
>> > > On 18/05/2022 17.08, Markus Armbruster wrote:
>> > > > Thomas Hut
Thomas Huth writes:
> On 18/05/2022 17.08, Markus Armbruster wrote:
>> Thomas Huth writes:
>>
>>> The "-display sdl" option still uses a hand-crafted parser for its
>>> parameters since we didn't want to drag an interface we considered
>>&
by: Thomas Huth
Patch looks good to me, so
Reviewed-by: Markus Armbruster
Thomas Huth writes:
> The "-display sdl" option still uses a hand-crafted parser for its
> parameters since we didn't want to drag an interface we considered
> somewhat flawed into the QAPI schema. Since the flaws are gone now,
> it's time to QAPIfy.
>
> This introduces the new "DisplaySDL" QAPI
Paolo Bonzini writes:
> On 5/17/22 10:34, Thomas Huth wrote:
>>> This remains, and that's fine. One step at time.
>> Not sure how we want to proceed with that in the long run, though
>> ... IIRC clearly, Paolo once said that it doesn't really belong into
>> "-display" anyway and should be handl
Thomas Huth writes:
> On 12/05/2022 14.16, Markus Armbruster wrote:
[...]
>>> This introduces the new "DisplaySDL" QAPI struct that is used to hold
>>> the parameters that are unique to the SDL display. The only specific
>>> parameter is currently &qu
Thomas Huth writes:
> The "-display sdl" option still uses a hand-crafted parser for its
> parameters since some of them used underscores which is forbidden
> in QAPI.
Kind of. QAPI indeed requires lower-case-with-hyphens for such names,
but there is an exception mechanism for names with upper
qemu-system-x86_64: -display vnc=:0,window-close=off: Invalid parameter
'window-close'
That's because parse_display() uses separate parsers for SDL, VNC and
the rest, and only SDL and the rest accept window-close.
Finally, why isn't this an error? Invalid configuration should be...
If we decide not to error out in this case, we should use warn_report()
instead of error_report().
All this can be addressed on top.
> @@ -3298,12 +3298,6 @@ void qemu_init(int argc, char **argv, char **envp)
> warn_report("-ctrl-grab is deprecated, please use "
> "-display sdl,grab-mod=rctrl instead.");
> break;
> -case QEMU_OPTION_no_quit:
> -dpy.has_window_close = true;
> -dpy.window_close = false;
> -warn_report("-no-quit is deprecated, please use "
> -"-display ...,window-close=off instead.");
> -break;
> case QEMU_OPTION_sdl:
> warn_report("-sdl is deprecated, use -display sdl instead.");
> #ifdef CONFIG_SDL
Reviewed-by: Markus Armbruster
ngs in the internal implementation of ``device_add``, QEMU
> +incorrectly accepts certain invalid arguments: Any object or list arguments
> are
> +silently ignored. Other argument types are not checked, but an implicit
> +conversion happens, so that e.g. string values can be assigned to integer
> +device properties or vice versa.
> +
> +This is a bug in QEMU that will be fixed in the future so that previously
> +accepted incorrect commands will return an error. Users should make sure that
> +all arguments passed to ``device_add`` are consistent with the documented
> +property types.
> +
> System accelerators
> ---
Reviewed-by: Markus Armbruster
See 03 commit message for details. 01-02 are preparation docs update.
v4: deprecate drive-backup transaction by squashing
[PATCH v4 5/5] block: Deprecate transaction type drive-backup
Message-Id: <20211025042405.3762351-6-arm...@redhat.com>
into PATCH 3
v3: wording fix-ups and
on is updated in a minimal way, so that drive-backup is
noted only as a deprecated command, and blockdev-backup used in most of
places.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Kashyap Chamarthy
Signed-off-by: Markus Armbruster
---
docs/about/deprecated.rst | 11 ++
From: Vladimir Sementsov-Ogievskiy
We are going to deprecate drive-backup, so don't mention it here.
Moreover, blockdev-backup seems more correct in the context.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: John Snow
Signed-off-by: Markus Armbruster
---
docs/
Sementsov-Ogievskiy
Signed-off-by: Markus Armbruster
---
docs/interop/bitmaps.rst | 285 +--
1 file changed, 215 insertions(+), 70 deletions(-)
diff --git a/docs/interop/bitmaps.rst b/docs/interop/bitmaps.rst
index 059ad67929..1de46febdc 100644
--- a/docs
Vladimir Sementsov-Ogievskiy writes:
> Hi all!
>
> See 03 commit message for details. 01-02 are preparation docs update.
>
> v3: wording fix-ups and improvements suggested by Kashyap
> v2: add a lot of documentation changes
> v1 was "[PATCH] qapi: deprecate drive-backup"
>
>
> Note, that this ser
Vladimir Sementsov-Ogievskiy writes:
> 25.10.2021 07:24, Markus Armbruster wrote:
>> Several moons ago, Vladimir posted
>>
>> Subject: [PATCH v2 3/3] qapi: deprecate drive-backup
>> Date: Wed, 5 May 2021 16:58:03 +0300
>> Message-I
Markus Armbruster writes:
> The code to check policy for handling deprecated input is triplicated.
> Factor it out into compat_policy_input_ok() before I mess with it in
> the next commit.
>
> Signed-off-by: Markus Armbruster
> Reviewed-by: Philippe Mathieu-Daudé
> ---
&
Eric Blake writes:
> On Thu, Oct 28, 2021 at 12:25:16PM +0200, Markus Armbruster wrote:
>> The generated visitor functions call visit_deprecated_accept() and
>> visit_deprecated() when visiting a struct member with special feature
>> flag 'deprecated'. This makes
Eric Blake writes:
> On Thu, Oct 28, 2021 at 12:25:20PM +0200, Markus Armbruster wrote:
>> New option parameters unstable-input and unstable-output set policy
>> for unstable interfaces just like deprecated-input and
>> deprecated-output set policy for deprecated i
Philippe Mathieu-Daudé writes:
> On 10/26/21 11:46, Markus Armbruster wrote:
>> Philippe Mathieu-Daudé writes:
>>
>>> On 10/25/21 07:25, Markus Armbruster wrote:
>>>> The code to check policy for handling deprecated input is triplicated.
>>>> Fa
Philippe Mathieu-Daudé writes:
> On 10/28/21 12:25, Markus Armbruster wrote:
>> The generated visitor functions call visit_deprecated_accept() and
>> visit_deprecated() when visiting a struct member with special feature
>> flag 'deprecated'. This makes the fea
Juan Quintela writes:
> Markus Armbruster wrote:
>> The generated visitor functions call visit_deprecated_accept() and
>> visit_deprecated() when visiting a struct member with special feature
>> flag 'deprecated'. This makes the feature flag visible to the actu
pplication to detect
presence of these new option parameters: they are not visible output
of query-qmp-schema or query-command-line-options. Tolerable, because
it's meant for testing. If running with -compat fails, skip the test.
Signed-off-by: Markus Armbruster
Acked-by: John Sn
New enum QapiSpecialFeature enumerates the special feature flags.
New helper gen_special_features() returns code to represent a
collection of special feature flags as a bitset.
The next few commits will put them to use.
Signed-off-by: Markus Armbruster
Reviewed-by: John Snow
---
include/qapi
The code to check policy for handling deprecated input is triplicated.
Factor it out into compat_policy_input_ok() before I mess with it in
the next commit.
Signed-off-by: Markus Armbruster
Reviewed-by: Philippe Mathieu-Daudé
---
include/qapi/compat-policy.h | 7 +
qapi/qapi-visit-core.c
Add special feature 'unstable' everywhere the name starts with 'x-',
except for InputBarrierProperties member x-origin and
MemoryBackendProperties member x-use-canonical-path-for-ramblock-id,
because these two are actually stable.
Signed-off-by: Markus Armbruster
Review
s
well, so I can add policy for it.
To let me make it visible, replace these functions by
visit_policy_reject() and visit_policy_skip(), which take the member's
special features as an argument. Note that the new functions have the
opposite sense, i.e. the return value flips.
Signed-off-by: Markus
vention by special
feature flag "unstable". See PATCH 1 for rationale.
v2:
* Rebased
* PATCH 1: Commit message revamped [Kevin], R-bys kept
* PATCH 6: gen_special_features() rewritten [John]
* PATCH 7: disastrous typos fixed [Philippe]
Markus Armbruster (9):
qapi: New special feature fl
piSpecialFeature) to QmpCommand, and adjust the generator to pass it
through qmp_register_command(). Then replace "QCO_DEPRECATED in
@flags" by QAPI_DEPRECATED in @special_features", and drop
QCO_DEPRECATED.
Signed-off-by: Markus Armbruster
Reviewed-by: Philippe Mathieu-Daudé
Acked-b
uard against use of unstable interfaces the same way as for
deprecated interfaces.
docs/devel/qapi-code-gen.txt no longer mandates the naming convention.
Using it anyway might help writers of programs that aren't
full-fledged management applications. Not using it can save us
bothersome ren
eatures (a
bitset of QapiSpecialFeature), because that's how special features get
passed around elsewhere.
Signed-off-by: Markus Armbruster
Acked-by: John Snow
---
include/qapi/util.h| 5 +
qapi/qapi-visit-core.c | 3 ++-
scripts/qapi/types.py | 22 --
3 files chan
Signed-off-by: Markus Armbruster
Reviewed-by: Juan Quintela
Reviewed-by: John Snow
---
include/qapi/qmp/dispatch.h | 1 -
monitor/misc.c | 3 +--
scripts/qapi/commands.py| 5 +
3 files changed, 2 insertions(+), 7 deletions(-)
diff --git a/include/qapi/qmp/dispatch.h b
Kevin Wolf writes:
> Am 26.10.2021 um 11:37 hat Markus Armbruster geschrieben:
>> Kevin Wolf writes:
>>
>> > Am 25.10.2021 um 07:25 hat Markus Armbruster geschrieben:
>> >> By convention, names starting with "x-" are experimental. The part
Philippe Mathieu-Daudé writes:
> On 10/25/21 07:25, Markus Armbruster wrote:
>> The generated visitor functions call visit_deprecated_accept() and
>> visit_deprecated() when visiting a struct member with special feature
>> flag 'deprecated'. This makes the fea
"Dr. David Alan Gilbert" writes:
> * Markus Armbruster (arm...@redhat.com) wrote:
>> New option parameters unstable-input and unstable-output set policy
>> for unstable interfaces just like deprecated-input and
>> deprecated-output set policy for deprecated inter
John Snow writes:
> On Tue, Oct 26, 2021 at 3:56 AM Markus Armbruster wrote:
>
>> John Snow writes:
>>
>> > On Mon, Oct 25, 2021 at 1:25 AM Markus Armbruster
>> wrote:
>> >
>> >> Add special feature 'unstable' everywhere th
Daniel P. Berrangé writes:
> On Tue, Oct 26, 2021 at 05:15:10PM +0200, Markus Armbruster wrote:
>> Daniel P. Berrangé writes:
>>
>> > On Tue, Oct 26, 2021 at 11:37:19AM +0200, Markus Armbruster wrote:
[...]
>> >> Management applications are better
John Snow writes:
> On Mon, Oct 25, 2021 at 12:24 AM Markus Armbruster
> wrote:
>
>> Several moons ago, Vladimir posted
>>
>> Subject: [PATCH v2 3/3] qapi: deprecate drive-backup
>> Date: Wed, 5 May 2021 16:58:03 +0300
>> Message-Id: <20210
Daniel P. Berrangé writes:
> On Tue, Oct 26, 2021 at 11:37:19AM +0200, Markus Armbruster wrote:
>> Kevin Wolf writes:
>>
>> > Am 25.10.2021 um 07:25 hat Markus Armbruster geschrieben:
>> >> By convention, names starting with "x-" are experiment
Stefan Hajnoczi writes:
> On Thu, Oct 14, 2021 at 06:22:32PM +0300, Vladimir Sementsov-Ogievskiy wrote:
>> 12.10.2021 14:49, Markus Armbruster wrote:
>> > Vladimir Sementsov-Ogievskiy writes:
[...]
>> Another possible way is to update QAPI code generator to insert a
Philippe Mathieu-Daudé writes:
> On 10/25/21 07:25, Markus Armbruster wrote:
>> The code to check policy for handling deprecated input is triplicated.
>> Factor it out into compat_policy_input_ok() before I mess with it in
>> the next commit.
>>
>>
John Snow writes:
> On Mon, Oct 25, 2021 at 1:26 AM Markus Armbruster wrote:
>
>> The code to check enumeration value policy can see special feature
>> flag 'deprecated' in QEnumLookup member flags[value]. I want to make
>> feature flag 'unstable' vi
Philippe Mathieu-Daudé writes:
> On 10/25/21 07:25, Markus Armbruster wrote:
>> The code to check command policy can see special feature flag
>> 'deprecated' as command flag QCO_DEPRECATED. I want to make feature
>> flag 'unstable' visible there as we
Kevin Wolf writes:
> Am 25.10.2021 um 07:25 hat Markus Armbruster geschrieben:
>> By convention, names starting with "x-" are experimental. The parts
>> of external interfaces so named may be withdrawn or changed
>> incompatibly in future releases.
>>
John Snow writes:
> On Mon, Oct 25, 2021 at 1:25 AM Markus Armbruster wrote:
>
>> The generated visitor functions call visit_deprecated_accept() and
>> visit_deprecated() when visiting a struct member with special feature
>> flag 'deprecated'. This makes the
John Snow writes:
> On Mon, Oct 25, 2021 at 1:25 AM Markus Armbruster wrote:
>
>> New enum QapiSpecialFeature enumerates the special feature flags.
>>
>> New helper gen_special_features() returns code to represent a
>> collection of special feature flags as a bits
John Snow writes:
> On Mon, Oct 25, 2021 at 1:25 AM Markus Armbruster wrote:
>
>> Add special feature 'unstable' everywhere the name starts with 'x-',
>> except for InputBarrierProperties member x-origin and
>> MemoryBackendProperties member x-us
John Snow writes:
> On Mon, Oct 25, 2021 at 1:25 AM Markus Armbruster wrote:
>
>> Signed-off-by: Markus Armbruster
>> ---
>> include/qapi/qmp/dispatch.h | 1 -
>> monitor/misc.c | 3 +--
>> scripts/qapi/commands.py| 5 +
>> 3 f
Kashyap Chamarthy writes:
> On Mon, Oct 25, 2021 at 07:25:24AM +0200, Markus Armbruster wrote:
>> By convention, names starting with "x-" are experimental. The parts
>> of external interfaces so named may be withdrawn or changed
>> incompatibly in future relea
John Snow writes:
> On Mon, Oct 25, 2021 at 1:26 AM Markus Armbruster wrote:
>
>> By convention, names starting with "x-" are experimental. The parts
>> of external interfaces so named may be withdrawn or changed
>> incompatibly in future releases.
>&g
pplication to detect
presence of these new option parameters: they are not visible output
of query-qmp-schema or query-command-line-options. Tolerable, because
it's meant for testing. If running with -compat fails, skip the test.
Signed-off-by: Markus Armbruster
---
qapi/compat.json
eatures (a
bitset of QapiSpecialFeature), because that's how special features get
passed around elsewhere.
Signed-off-by: Markus Armbruster
---
include/qapi/util.h| 5 +
qapi/qapi-visit-core.c | 3 ++-
scripts/qapi/types.py | 22 --
3 files changed, 15 insertions(+), 15 d
The code to check policy for handling deprecated input is triplicated.
Factor it out into compat_policy_input_ok() before I mess with it in
the next commit.
Signed-off-by: Markus Armbruster
---
include/qapi/compat-policy.h | 7 +
qapi/qapi-visit-core.c | 18 +
qapi/qmp
New enum QapiSpecialFeature enumerates the special feature flags.
New helper gen_special_features() returns code to represent a
collection of special feature flags as a bitset.
The next few commits will put them to use.
Signed-off-by: Markus Armbruster
---
include/qapi/util.h| 4
Add special feature 'unstable' everywhere the name starts with 'x-',
except for InputBarrierProperties member x-origin and
MemoryBackendProperties member x-use-canonical-path-for-ramblock-id,
because these two are actually stable.
Signed-off-by: Markus Armbruster
---
qapi/b
recated".
Replace the convention by a new special feature flag "unstable". It
will be recognized by the QAPI generator, like the existing feature
flag "deprecated", and unlike regular feature flags.
This commit updates documentation and prepares tests. The next commi
1 - 100 of 525 matches
Mail list logo