Re: [libvirt] [Qemu-devel] [PATCH v3 4/6] numa: introduce "numa-mem-supported" machine property

2019-05-27 Thread Markus Armbruster
Igor Mammedov writes: > '-numa mem' option has a number of issues and mgmt often defaults > to it. Unfortunately it's no possible to replace it with an alternative > '-numa memdev' without breaking migration compatibility. To be precise: -numa node,mem=... and -numa node,memdev=... Correct? >

Re: [libvirt] [Qemu-devel] [PATCH v3 2/6] qmp: make "qom-list-properties" show initial property values

2019-05-27 Thread Markus Armbruster
Igor Mammedov writes: > Add in the command output object's property values right after creation > (i.e. state of the object returned by object_new() or equivalent). > > Follow up patch will add machine property 'numa-mem-supported', which > would allow mgmt to introspect which machine types

Re: [libvirt] [Qemu-devel] [PATCH v3 1/6] pc: fix possible NULL pointer dereference in pc_machine_get_device_memory_region_size()

2019-05-27 Thread Markus Armbruster
Igor Mammedov writes: > QEMU will crash when device-memory-region-size property is read if > ms->device_memory > wasn't initialized yet (ex: property being inspected during preconfig time). Reproduced: $ qemu-system-x86_64 -nodefaults -S -display none -preconfig -qmp stdio {"QMP":

Re: [libvirt] [Qemu-devel] [PATCH v4 0/3] numa: deprecate '-numa node, mem' and default memory distribution

2019-06-07 Thread Markus Armbruster
Igor Mammedov writes: > Changes since v3: > - simplify series by dropping idea of showing property values in > "qom-list-properties" > and use MachineInfo in QAPI schema instead Where did "[PATCH v3 1/6] pc: fix possible NULL pointer dereference in

Re: [libvirt] [Qemu-devel] [PATCH v4 1/3] machine: show if CLI option '-numa node, mem' is supported in QAPI schema

2019-06-07 Thread Markus Armbruster
Igor Mammedov writes: > Legacy '-numa node,mem' option has a number of issues and mgmt often > defaults to it. Unfortunately it's no possible to replace it with > an alternative '-numa memdev' without breaking migration compatibility. > What's possible though is to deprecate it, keeping option

Re: [libvirt] [Qemu-devel] QMP; unsigned 64-bit ints; JSON standards compliance

2019-06-04 Thread Markus Armbruster
We've discussed possible solutions. Is anyone working or intending to work on patches? -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [Qemu-devel] [PATCH v4 1/3] machine: show if CLI option '-numa node, mem' is supported in QAPI schema

2019-06-11 Thread Markus Armbruster
Eduardo Habkost writes: > On Fri, Jun 07, 2019 at 07:39:17PM +0200, Markus Armbruster wrote: >> This is correct when the TYPE_VIRT_MACHINE, TYPE_PC_MACHINE and >> TYPE_SPAPR_MACHINE are exactly the machines supporting NUMA. How could >> I check that? > > parse_nu

Re: [libvirt] [Qemu-devel] [PATCH v5 1/3] machine: show if CLI option '-numa node, mem' is supported in QAPI schema

2019-06-11 Thread Markus Armbruster
at are using > it. > > Signed-off-by: Igor Mammedov Reviewed-by: Markus Armbruster -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [Qemu-devel] [PATCH] deprecate -mem-path fallback to anonymous RAM

2019-06-24 Thread Markus Armbruster
Igor Mammedov writes: > Fallback might affect guest or worse whole host performance > or functionality if backing file were used to share guest RAM > with another process. > > Patch deprecates fallback so that we could remove it in future > and ensure that QEMU will provide expected behavior and

Re: [libvirt] [Qemu-devel] [PATCH] deprecate -mem-path fallback to anonymous RAM

2019-06-24 Thread Markus Armbruster
Igor Mammedov writes: > On Mon, 24 Jun 2019 10:17:33 +0200 > Markus Armbruster wrote: > >> Igor Mammedov writes: >> >> > Fallback might affect guest or worse whole host performance >> > or functionality if backing file were used to share guest RAM >

Re: [libvirt] [Qemu-devel] QMP; unsigned 64-bit ints; JSON standards compliance

2019-05-13 Thread Markus Armbruster
Daniel P. Berrangé writes: > On Mon, May 13, 2019 at 01:29:34PM +0100, Dr. David Alan Gilbert wrote: >> * Daniel P. Berrangé (berra...@redhat.com) wrote: >> > On Wed, May 08, 2019 at 02:44:07PM +0200, Markus Armbruster wrote: >> > > Daniel P. Berrangé writes: &

Re: [libvirt] [Qemu-devel] QMP; unsigned 64-bit ints; JSON standards compliance

2019-05-13 Thread Markus Armbruster
Daniel P. Berrangé writes: > On Wed, May 08, 2019 at 02:44:07PM +0200, Markus Armbruster wrote: [...] >> Double-checking: do you propose to encode *all* numbers as strings, or >> just certain "problematic" numbers? >> >> If the latter, I guess your idea o

Re: [libvirt] [Qemu-devel] QMP; unsigned 64-bit ints; JSON standards compliance

2019-05-14 Thread Markus Armbruster
Eric Blake writes: > On 5/13/19 8:53 AM, Markus Armbruster wrote: > >>> We have a few options >>> >>> 1. Use string format for values > 2^53-1, int format below that >>> 2. Use string format for all fields which are 64-bit ints whether >>

Re: [libvirt] (Dropping) OOM Handling in libvirt

2019-05-22 Thread Markus Armbruster
Andrea Bolognani writes: > On Mon, 2019-05-13 at 13:19 +0100, Daniel P. Berrangé wrote: >> On Mon, May 13, 2019 at 02:00:28PM +0200, Andrea Bolognani wrote: >> > One possible complication is that we would not be able to use any >> > of the GLib types in our public API... I think the way we

Re: [libvirt] (Dropping) OOM Handling in libvirt

2019-05-22 Thread Markus Armbruster
Eric Blake writes: > On 5/13/19 8:28 AM, Michal Privoznik wrote: >> On 5/13/19 12:17 PM, Daniel P. Berrangé wrote: >>> This is a long mail about ENOMEM (OOM) handling in libvirt. The executive >>> summary is that it is not worth the maint cost because: >>> > >>> The long answer follows... >> >>

Re: [libvirt] [Qemu-devel] QMP; unsigned 64-bit ints; JSON standards compliance

2019-05-07 Thread Markus Armbruster
Daniel P. Berrangé writes: > On Tue, Apr 30, 2019 at 03:45:46PM +0100, Dr. David Alan Gilbert wrote: >> * Daniel P. Berrangé (berra...@redhat.com) wrote: >> > The QEMU QMP service is based on JSON which is nice because that is a >> > widely supported "standard" data format. >> > >> >

Re: [libvirt] [Qemu-devel] QMP; unsigned 64-bit ints; JSON standards compliance

2019-05-08 Thread Markus Armbruster
Eric Blake writes: > On 5/7/19 4:39 AM, Daniel P. Berrangé wrote: > >>> JSON is terrible at interoperability, so good luck with that. >>> >>> If you reduce your order to "the commonly used JSON libraries we know", >>> we can talk. >> >> I don't particularly want us to rely on semantics of small

Re: [libvirt] [Qemu-devel] QMP; unsigned 64-bit ints; JSON standards compliance

2019-05-08 Thread Markus Armbruster
Daniel P. Berrangé writes: > On Tue, May 07, 2019 at 10:47:06AM +0200, Markus Armbruster wrote: > >> > The Golang JSON parser decodes JSON numbers to float64 by default so >> > will have this precision limitation too, though at least they provide >> > a

Re: [libvirt] [Qemu-devel] [PATCH v2] deprecate -mem-path fallback to anonymous RAM

2019-06-25 Thread Markus Armbruster
expected behavior and fail if > it can't use user provided backing file. > > Signed-off-by: Igor Mammedov > --- > v2: > * improve text language > (Markus Armbruster ) > > numa.c | 6 -- > qemu-deprecated.texi | 9 + > 2 files chang

Re: [libvirt] [Qemu-devel] [PATCH 2/2] qapi: deprecate implicit filters

2019-08-16 Thread Markus Armbruster
Kevin Wolf writes: > Am 15.08.2019 um 21:24 hat Markus Armbruster geschrieben: [...] >> Let's assume all libvirt ever does with deprecation notices is logging >> them. Would that solve the problem of reliably alerting libvirt >> developers to deprecation issues? Nop

[libvirt] Exposing feature deprecation to machine clients (was: [Qemu-devel] [PATCH 2/2] qapi: deprecate implicit filters)

2019-08-15 Thread Markus Armbruster
John Snow writes: > On 8/14/19 6:07 AM, Vladimir Sementsov-Ogievskiy wrote: >> To get rid of implicit filters related workarounds in future let's >> deprecate them now. >> >> Signed-off-by: Vladimir Sementsov-Ogievskiy >> --- [...] >> diff --git a/blockdev.c b/blockdev.c >> index

Re: [libvirt] [Qemu-devel] [PATCH 2/2] qapi: deprecate implicit filters

2019-08-15 Thread Markus Armbruster
Peter Krempa writes: > On Thu, Aug 15, 2019 at 12:49:28 +0200, Kevin Wolf wrote: >> Am 14.08.2019 um 21:27 hat John Snow geschrieben: > > [...] > >> > example: >> > >> > { "return": {}, >> > "deprecated": True, >> > "warning": "Omitting filter-node-name parameter is deprecated, it will >> >

Re: [libvirt] [Qemu-devel] [PATCH 2/2] qapi: deprecate implicit filters

2019-08-15 Thread Markus Armbruster
Kevin Wolf writes: > Am 15.08.2019 um 18:07 hat John Snow geschrieben: >> >> >> On 8/15/19 6:49 AM, Kevin Wolf wrote: >> > Am 14.08.2019 um 21:27 hat John Snow geschrieben: >> >> >> >> >> >> On 8/14/19 6:07 AM, Vladimir Sementsov-Ogievskiy wrote: >> >>> To get rid of implicit filters related

Re: [libvirt] [Qemu-devel] [PATCH v3] qapi: add dirty-bitmaps to query-named-block-nodes result

2019-07-23 Thread Markus Armbruster
John Snow writes: > From: Vladimir Sementsov-Ogievskiy > > Let's add a possibility to query dirty-bitmaps not only on root nodes. > It is useful when dealing both with snapshots and incremental backups. > > Signed-off-by: Vladimir Sementsov-Ogievskiy > [Added deprecation information. --js] >

Re: [libvirt] [Qemu-devel] [PATCH v3] qapi: add dirty-bitmaps to query-named-block-nodes result

2019-07-25 Thread Markus Armbruster
John Snow writes: > On 7/24/19 12:47 AM, Markus Armbruster wrote: >> John Snow writes: >> >>> From: Vladimir Sementsov-Ogievskiy >>> >>> Let's add a possibility to query dirty-bitmaps not only on root nodes. >>> It is useful when

[libvirt] Deprecating stuff for 4.2 (was: [Qemu-devel] Exposing feature deprecation to machine clients)

2019-11-07 Thread Markus Armbruster
Vladimir Sementsov-Ogievskiy writes: > 07.11.2019 21:52, Philippe Mathieu-Daudé wrote: [...] >> Pre-release period, time to deprecate some stuffs :) >> >> How should we proceed? Do you have something in mind? >> >> There are older threads about this. Should we start a new thread? Gather the

Re: [libvirt] [PULL 1/9] IDE: deprecate ide-drive

2019-10-31 Thread Markus Armbruster
Paolo Bonzini writes: > On 31/10/19 11:58, John Snow wrote: >> It's an old compatibility shim that just delegates to ide-cd or ide-hd. >> I'd like to refactor these some day, and getting rid of the super-object >> will make that easier. >> >> Either way, we don't need this. > > Good idea. I

Re: [libvirt] [PATCH 1/3] conf: Set rebootTimeout valid range to 0..0xffff

2019-11-12 Thread Markus Armbruster
Rewriting the parapgraph for clarity would be better, though. >> reboot anyways? If it doesn't reboot then -1 should mean to not put >> > I think they use the same defaults and will not reboot by default. That can > be checked by > the code before and after qemu commit ee5d0

Re: [libvirt] [PATCH 2/2] Add -mem-shared option

2019-12-10 Thread Markus Armbruster
Eduardo Habkost writes: > +Markus > > On Tue, Dec 03, 2019 at 03:43:03PM +0100, Igor Mammedov wrote: >> On Tue, 3 Dec 2019 09:56:15 +0100 >> Thomas Huth wrote: >> >> > On 02/12/2019 22.00, Eduardo Habkost wrote: >> > > On Mon, Dec 02, 2019 at 08:39:48AM +0100, Igor Mammedov wrote: >> > >> On

Re: [libvirt] [PATCH 2/2] net: Drop the NetLegacy structure, always use Netdev instead

2019-12-10 Thread Markus Armbruster
Thomas Huth writes: > Now that the "name" parameter is gone, there is hardly any difference > between NetLegacy and Netdev anymore. Drop NetLegacy and always use > Netdev to simplify the code quite a bit. > > Signed-off-by: Thomas Huth Took me a minute to see the actual difference. Here's

Re: [libvirt] [PATCH 1/2] net: Drop the legacy "name" parameter from the -net option

2019-12-10 Thread Markus Armbruster
quot;not at all". > { 'struct': 'NetLegacy', >'data': { > '*id': 'str', > -'*name': 'str', > 'opts': 'NetLegacyOptions' } } > > ## [...] History: $ git-log -S"dropped in" -- qapi qapi-schema.json commit ffaee83bcb28913b8b854aeab78b1a1

Re: [libvirt] [PATCH 0/3] Remove deprecated pc-0.x machine types and related hacks

2019-12-05 Thread Markus Armbruster
Thomas Huth writes: > These have been on the deprecation list since a year now, so it's > time to finally remove the pc-0.x machine types. > > We then can also remove some compatibility hacks in the devices, i.e. > the "use_broken_id" in ac97 and "command_serr_enable" in PCI devices. > > Note

[libvirt] [RFC PATCH 07/19] qapi: Add feature flags to remaining definitions

2019-10-24 Thread Markus Armbruster
ds") to satisfy another immediate need (commit d76744e65e "qapi: Allow introspecting fix for savevm's cooperation with blockdev"). Add them to the remaining definitions: enumeration types, union types, alternate types, and events. Signed-off-by: Markus Armbruster --- docs/devel/qap

[libvirt] [RFC PATCH 10/19] qapi: Simplify how qmp_dispatch() deals with QCO_NO_SUCCESS_RESP

2019-10-24 Thread Markus Armbruster
Signed-off-by: Markus Armbruster --- qapi/qmp-dispatch.c | 20 ++-- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/qapi/qmp-dispatch.c b/qapi/qmp-dispatch.c index a69d5b5a96..d1643fe37a 100644 --- a/qapi/qmp-dispatch.c +++ b/qapi/qmp-dispatch.c @@ -151,31 +151,31

[libvirt] [RFC PATCH 16/19] qapi: Implement -compat deprecated-input=reject for commands

2019-10-24 Thread Markus Armbruster
the command is removed, the error will change to <--- {"error": {"class": "CommandNotFound", "desc": "The command query-cpus has not been found"}} The policy thus permits "testing the future". Signed-off-by: Markus Armbruster --- qapi/

[libvirt] [RFC PATCH 06/19] tests/test-qmp-event: Check event is actually emitted

2019-10-24 Thread Markus Armbruster
Signed-off-by: Markus Armbruster --- tests/test-qmp-event.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/test-qmp-event.c b/tests/test-qmp-event.c index d64066139c..7dd0053190 100644 --- a/tests/test-qmp-event.c +++ b/tests/test-qmp-event.c @@ -26,6 +26,7

[libvirt] [RFC PATCH 05/19] tests/test-qmp-event: Use qobject_is_equal()

2019-10-24 Thread Markus Armbruster
Locally defined helper qdict_cmp_simple() implements just enough of a comparison to serve here. Replace it by qobject_is_equal(), which implements all of it. Signed-off-by: Markus Armbruster --- tests/test-qmp-event.c | 66 +- 1 file changed, 1 insertion

[libvirt] [RFC PATCH 11/19] qapi: Simplify how qmp_dispatch() gets the request ID

2019-10-24 Thread Markus Armbruster
getting the request ID into qmp_dispatch_check_obj(). Signed-off-by: Markus Armbruster --- qapi/qmp-dispatch.c | 11 +++ 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/qapi/qmp-dispatch.c b/qapi/qmp-dispatch.c index d1643fe37a..0cbb663097 100644 --- a/qapi/qmp-dispatch.c

[libvirt] [RFC PATCH 09/19] qapi: Inline do_qmp_dispatch() into qmp_dispatch()

2019-10-24 Thread Markus Armbruster
Both functions check @request is a QDict, and both have code for QCO_NO_SUCCESS_RESP. This wasn't the case back when they were created. It's a sign of muddled responsibilities. Inline. The next commits will clean up some more. Signed-off-by: Markus Armbruster --- qapi/qmp-dispatch.c | 90

[libvirt] [RFC PATCH 14/19] qemu-options: New -compat to set policy for "funny" interfaces

2019-10-24 Thread Markus Armbruster
rns, and the command line. Extending it to experimental interfaces may make sense. FIXME Documentation and help need some work Signed-off-by: Markus Armbruster --- qapi/common.json | 48 include/qapi/compat-policy.h | 20 +++ qapi/qmp-disp

[libvirt] [RFC PATCH 19/19] qapi: Implement -compat deprecated-output=hide for events

2019-10-24 Thread Markus Armbruster
This policy suppresses deprecated events, and thus permits "testing the future". No QMP event is deprecated right now. Signed-off-by: Markus Armbruster --- qapi/common.json | 4 ++-- tests/test-qmp-event.c | 17 + qemu-options.hx| 4 +++- scripts/qapi

[libvirt] [RFC PATCH 13/19] qapi: New special feature flag "deprecated"

2019-10-24 Thread Markus Armbruster
Unlike regular feature flags, the new special feature flag "deprecated" is recognized by the QAPI generator. For now, it's only permitted with commands and events. It will be put to use shortly. Signed-off-by: Markus Armbruster --- docs/devel/qapi-code-gen.txt

[libvirt] [RFC PATCH 17/19] qapi: Implement -compat deprecated-input=crash for commands

2019-10-24 Thread Markus Armbruster
This policy calls abort() when a deprecated command is received. Crashing should reliably[*] fail existing integration tests with very little additional work (just pass the option). [*] Bugs in tests can conceivably mask even crashes, but that seems unlikely. Signed-off-by: Markus Armbruster

[libvirt] [RFC PATCH 00/19] Configurable policy for handling deprecated interfaces

2019-10-24 Thread Markus Armbruster
-ID: <87mur0ls8o@dusky.pond.sub.org> https://lists.nongnu.org/archive/html/qemu-devel/2018-10/msg05828.html Markus Armbruster (19): tests/test-qmp-cmds: Factor out qmp_dispatch() test helpers tests/test-qmp-cmds: Check responses more thoroughly tests/test-qmp-cmds: Simplify tes

[libvirt] [RFC PATCH 12/19] qapi: Replace qmp_dispatch()'s TODO comment by an explanation

2019-10-24 Thread Markus Armbruster
Signed-off-by: Markus Armbruster --- qapi/qmp-dispatch.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/qapi/qmp-dispatch.c b/qapi/qmp-dispatch.c index 0cbb663097..55bc224c61 100644 --- a/qapi/qmp-dispatch.c +++ b/qapi/qmp-dispatch.c @@ -164,7 +164,11 @@ QDict

[libvirt] [RFC PATCH 03/19] tests/test-qmp-cmds: Simplify test data setup

2019-10-24 Thread Markus Armbruster
Building requests with qdict_put() & friends is tedious to write and hard to read. Parse them from string literals with qdict_from_vjsonf_nofail() instead. Signed-off-by: Markus Armbruster --- tests/test-qmp-cmds.c | 93 ++- 1 file changed, 38 insert

[libvirt] [RFC PATCH 04/19] tests/test-qmp-event: Simplify test data setup

2019-10-24 Thread Markus Armbruster
Building expected data with qdict_put() & friends is tedious to write and hard to read. Parse them from string literals with qdict_from_jsonf_nofail() instead. While there, use initializers instead of assignments for initializing aggregate event arguments. Signed-off-by: Markus Armbru

[libvirt] [RFC PATCH 15/19] qapi: Mark deprecated QMP commands with feature 'deprecated'

2019-10-24 Thread Markus Armbruster
cated-input=... to set policy for these commands. So far, the only available policy is "accept", which doesn't change behavior. The next few commits will provide more interesting policies. Command deprecation becomes visible in introspection. Management applications

[libvirt] [RFC PATCH 08/19] qapi: Consistently put @features parameter right after @ifcond

2019-10-24 Thread Markus Armbruster
Signed-off-by: Markus Armbruster --- scripts/qapi/commands.py | 6 +++--- scripts/qapi/doc.py| 10 +- scripts/qapi/introspect.py | 10 +- scripts/qapi/schema.py | 36 -- scripts/qapi/types.py | 4

[libvirt] [RFC PATCH 02/19] tests/test-qmp-cmds: Check responses more thoroughly

2019-10-24 Thread Markus Armbruster
Signed-off-by: Markus Armbruster --- tests/test-qmp-cmds.c | 23 +-- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/tests/test-qmp-cmds.c b/tests/test-qmp-cmds.c index e738bead86..667e03cb1b 100644 --- a/tests/test-qmp-cmds.c +++ b/tests/test-qmp-cmds.c

[libvirt] [RFC PATCH 01/19] tests/test-qmp-cmds: Factor out qmp_dispatch() test helpers

2019-10-24 Thread Markus Armbruster
Checking the value of qmp_dispatch() is repetitive. Factor out helpers do_qmp_dispatch() and do_qmp_dispatch_error(). Without this, the next commit would make things even more repetitive. Signed-off-by: Markus Armbruster --- tests/test-qmp-cmds.c | 72

[libvirt] [RFC PATCH 18/19] qapi: Include a warning in the response to a deprecated command

2019-10-24 Thread Markus Armbruster
ame warning should be included in a deprecated event. * Emitting the same warning over and over again might be annoying or slow. Perhaps warning just once would be better. Signed-off-by: Markus Armbruster --- qapi/qmp-dispatch.c | 8 tests/test-qmp-cmds.c | 43

Re: [libvirt] [RFC PATCH 19/19] qapi: Implement -compat deprecated-output=hide for events

2019-10-24 Thread Markus Armbruster
Daniel P. Berrangé writes: > On Thu, Oct 24, 2019 at 02:34:58PM +0200, Markus Armbruster wrote: >> This policy suppresses deprecated events, and thus permits "testing >> the future". > > One thing that occurs to me is that this is a fairly passive impa

Re: [libvirt] [RFC PATCH 18/19] qapi: Include a warning in the response to a deprecated command

2019-10-24 Thread Markus Armbruster
Daniel P. Berrangé writes: > On Thu, Oct 24, 2019 at 02:34:57PM +0200, Markus Armbruster wrote: >> Looks like this >> >> ---> {"execute": "query-cpus"} >> <--- {"return": [...], "warnings": [{"class

Re: [libvirt] [Qemu-devel] [PATCH 2/2] qapi: deprecate implicit filters

2019-11-22 Thread Markus Armbruster
Reviving this old thread, because I'd like to connect it to more recent discussions. Christophe de Dinechin writes: > Markus Armbruster writes: > >> Peter Krempa writes: >> > [...] >>> From my experience users report non-fatal messages mostly only if it is &g

Re: [libvirt] [PATCH 1/1] IDE: deprecate ide-drive

2019-10-07 Thread Markus Armbruster
John Snow writes: > It's an old compatibility shim that just delegates to ide-cd or ide-hd. > I'd like to refactor these some day, and getting rid of the super-object > will make that easier. Device "scsi-disk" is similar. However, it's still used by the scsi_bus_legacy_add_drive() magic. Not

Re: [libvirt] [PATCH 1/1] IDE: deprecate ide-drive

2019-10-08 Thread Markus Armbruster
John Snow writes: > On 10/7/19 5:49 AM, Markus Armbruster wrote: >> John Snow writes: >> >>> It's an old compatibility shim that just delegates to ide-cd or ide-hd. >>> I'd like to refactor these some day, and getting rid of the super-object >>> will

Re: [libvirt] [PATCH v2 1/1] IDE: deprecate ide-drive

2019-10-10 Thread Markus Armbruster
Signed-off-by: John Snow Reviewed-by: Markus Armbruster -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list

Re: [PATCH v2 00/30] Configurable policy for handling deprecated interfaces

2020-03-04 Thread Markus Armbruster
Markus Armbruster writes: > Based-on: <20200227144531.24309-1-arm...@redhat.com> > > This series extends QMP introspection to cover deprecation. > Additionally, new option -compat lets you configure what to do when > deprecated interfaces get used. This is inten

[PATCH v2 04/30] docs/devel/qapi-code-gen: Document 'features' introspection

2020-03-03 Thread Markus Armbruster
Commit 6a8c0b5102 "qapi: Add feature flags to struct types" neglected to update section "Client JSON Protocol introspection", and commit 23394b4c39 "qapi: Add feature flags to commands" didn't either. Make up for that. Signed-off-by: Markus Armbruster --- doc

[PATCH v2 10/30] tests/test-qmp-event: Check event is actually emitted

2020-03-03 Thread Markus Armbruster
Signed-off-by: Markus Armbruster --- tests/test-qmp-event.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/test-qmp-event.c b/tests/test-qmp-event.c index d64066139c..7dd0053190 100644 --- a/tests/test-qmp-event.c +++ b/tests/test-qmp-event.c @@ -26,6 +26,7

[PATCH v2 22/30] qapi: Simplify how qmp_dispatch() deals with QCO_NO_SUCCESS_RESP

2020-03-03 Thread Markus Armbruster
Signed-off-by: Markus Armbruster --- qapi/qmp-dispatch.c | 25 + 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/qapi/qmp-dispatch.c b/qapi/qmp-dispatch.c index a588072523..550d1fe8d2 100644 --- a/qapi/qmp-dispatch.c +++ b/qapi/qmp-dispatch.c @@ -106,7

[PATCH v2 08/30] tests/test-qmp-event: Simplify test data setup

2020-03-03 Thread Markus Armbruster
Building expected data with qdict_put() & friends is tedious to write and hard to read. Parse them from string literals with qdict_from_jsonf_nofail() instead. While there, use initializers instead of assignments for initializing aggregate event arguments. Signed-off-by: Markus Armbru

[PATCH v2 30/30] qapi: New -compat deprecated-input=crash

2020-03-03 Thread Markus Armbruster
Policy "crash" calls abort() when deprecated input is received. Bugs in integration tests may mask the error from policy "reject". Provide a larger hammer: crash outright. Masking that seems unlikely. Signed-off-by: Markus Armbruster --- qapi/compat.json

[PATCH v2 16/30] qapi/schema: Change _make_features() to a take feature list

2020-03-03 Thread Markus Armbruster
QAPISchema._make_features() takes a definition expression, and extracts its 'features' member. The other ._make_FOO() leave destructuring expressions to their callers. Change ._make_features() to match them. Signed-off-by: Markus Armbruster --- scripts/qapi/schema.py | 17 + 1

[PATCH v2 00/30] Configurable policy for handling deprecated interfaces

2020-03-03 Thread Markus Armbruster
eprecating stuff Date: Fri, 26 Oct 2018 16:03:51 +0200 Message-ID: <87mur0ls8o@dusky.pond.sub.org> https://lists.nongnu.org/archive/html/qemu-devel/2018-10/msg05828.html Markus Armbruster (30): qemu-doc: Belatedly document QMP command arg & result deprecation qapi: Be

[PATCH v2 03/30] docs/devel/qapi-code-gen: Clarify allow-oob introspection

2020-03-03 Thread Markus Armbruster
Mention SchemaInfo variant member "allow-oob" defaults to false. Signed-off-by: Markus Armbruster --- docs/devel/qapi-code-gen.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/devel/qapi-code-gen.txt b/docs/devel/qapi-code-gen.txt index 59d6973e1e..

[PATCH v2 25/30] qapi: New special feature flag "deprecated"

2020-03-03 Thread Markus Armbruster
Unlike regular feature flags, the new special feature flag "deprecated" is recognized by the QAPI generator. For now, it's only permitted with commands, events, and struct members. It will be put to use shortly. Signed-off-by: Markus Armbruster --- docs/devel/qapi-co

[PATCH v2 09/30] tests/test-qmp-event: Use qobject_is_equal()

2020-03-03 Thread Markus Armbruster
Locally defined helper qdict_cmp_simple() implements just enough of a comparison to serve here. Replace it by qobject_is_equal(), which implements all of it. Signed-off-by: Markus Armbruster --- tests/test-qmp-event.c | 66 +- 1 file changed, 1 insertion

[PATCH v2 24/30] qapi: Replace qmp_dispatch()'s TODO comment by an explanation

2020-03-03 Thread Markus Armbruster
Signed-off-by: Markus Armbruster --- qapi/qmp-dispatch.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/qapi/qmp-dispatch.c b/qapi/qmp-dispatch.c index 112d29a9ab..fb53687ce9 100644 --- a/qapi/qmp-dispatch.c +++ b/qapi/qmp-dispatch.c @@ -164,7 +164,11 @@ QDict

[PATCH v2 01/30] qemu-doc: Belatedly document QMP command arg & result deprecation

2020-03-03 Thread Markus Armbruster
, we missed a few more: * Commit 3c605f4074 "commit: Add top-node/base-node options" (v3.1.0) deprecated block-commit arguments @base and @top. * Commit 4db6ceb0b5 "block/dirty-bitmap: add recording and busy properties" (v4.0.0) deprecated query-named-block-nodes result @dirt

[PATCH v2 11/30] qapi/schema: Clean up around QAPISchemaEntity.connect_doc()

2020-03-03 Thread Markus Armbruster
QAPISchemaEntity calls doc.connect_feature() in .check(). Improper since commit ee1e6a1f6c8 split .connect_doc() off .check(). Move the call. Requires making the children call super().connect_doc() as they should. Signed-off-by: Markus Armbruster --- scripts/qapi/schema.py | 13

[PATCH v2 28/30] qapi: Implement -compat deprecated-output=hide

2020-03-03 Thread Markus Armbruster
quot;: 0, "thread-id": 0, "socket-id": 0}, "qom-path": "/machine/unattached/device[0]", "cpu-index": 0, "target": "x86_64"}]} Note the absence of deprecated member "arch". No QMP event is deprecated right now. Signed-

[PATCH v2 02/30] qapi: Belatedly update doc comment for @wait deprecation

2020-03-03 Thread Markus Armbruster
Commit a9b305ba29 "socket: allow wait=false for client socket" deprecated use of @wait for client socket chardevs, but neglected to update char.json's doc comment. Make up for that. Signed-off-by: Markus Armbruster --- qapi/char.json | 1 + 1 file changed, 1 insertion(+) diff --

[PATCH v2 29/30] qapi: Implement -compat deprecated-input=reject

2020-03-03 Thread Markus Armbruster
commit", "arguments": {"device": "virtio0", "top": "/tmp/snap1.qcow2"}} <--- {"error": {"class": "GenericError", "desc": "Deprecated parameter 'top' disabled by policy"}} Whe

[PATCH v2 17/30] qapi/schema: Reorder classes so related ones are together

2020-03-03 Thread Markus Armbruster
Move QAPISchemaAlternateType up some, so that all QAPISchemaFOOType are together. Move QAPISchemaObjectTypeVariants right behind its users. Signed-off-by: Markus Armbruster --- scripts/qapi/schema.py | 284 - 1 file changed, 142 insertions(+), 142

[PATCH v2 18/30] qapi/schema: Rename QAPISchemaObjectType{Variant, Variants}

2020-03-03 Thread Markus Armbruster
QAPISchemaObjectTypeVariants represents both object type and alternate type variants. Rename to QAPISchemaVariants. Rename QAPISchemaObjectTypeVariant the same way. Signed-off-by: Markus Armbruster --- scripts/qapi/schema.py | 22 +++--- 1 file changed, 11 insertions(+), 11

[PATCH v2 20/30] qapi: Add feature flags to struct members

2020-03-03 Thread Markus Armbruster
Signed-off-by: Markus Armbruster --- docs/devel/qapi-code-gen.txt| 4 +++- tests/qapi-schema/doc-good.texi | 2 ++ qapi/introspect.json| 6 +- scripts/qapi/expr.py| 3 ++- scripts/qapi/introspect.py | 2 +- scripts

[PATCH v2 06/30] tests/test-qmp-cmds: Check responses more thoroughly

2020-03-03 Thread Markus Armbruster
Signed-off-by: Markus Armbruster --- tests/test-qmp-cmds.c | 23 +-- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/tests/test-qmp-cmds.c b/tests/test-qmp-cmds.c index b31064b064..464b370189 100644 --- a/tests/test-qmp-cmds.c +++ b/tests/test-qmp-cmds.c

[PATCH v2 23/30] qapi: Simplify how qmp_dispatch() gets the request ID

2020-03-03 Thread Markus Armbruster
getting the request ID into qmp_dispatch_check_obj(). Signed-off-by: Markus Armbruster --- qapi/qmp-dispatch.c | 11 +++ 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/qapi/qmp-dispatch.c b/qapi/qmp-dispatch.c index 550d1fe8d2..112d29a9ab 100644 --- a/qapi/qmp-dispatch.c

[PATCH v2 26/30] qapi: Mark deprecated QMP parts with feature 'deprecated'

2020-03-03 Thread Markus Armbruster
sult @dirty-bitmaps, query-named-block-nodes result @encryption_key_missing and result @dirty-bitmaps's member @status. Same for query-block result @inserted, which mirrors query-named-block-nodes. Signed-off-by: Markus Armbruster --- qapi/block-core.json | 69 +

[PATCH v2 15/30] qapi/introspect: Factor out _make_tree()

2020-03-03 Thread Markus Armbruster
The value of @qmp_schema_qlit is generated from an expression tree. Tree nodes are created in several places. Factor out the common code into _make_tree(). This isn't much of a win now. It will pay off when we add feature flags in the next few commits. Signed-off-by: Markus Armbruster

[PATCH v2 27/30] qemu-options: New -compat to set policy for deprecated interfaces

2020-03-03 Thread Markus Armbruster
s "accept". Policies other than "accept" are implemented later in this series. For now, -compat covers only syntactic aspects of QMP, i.e. stuff tagged with feature 'deprecated'. We may want to extend it to cover semantic aspects, CLI, and experimental features. The option is experiment

[PATCH v2 19/30] qapi/schema: Call QAPIDoc.connect_member() in just one place

2020-03-03 Thread Markus Armbruster
The .connect_doc() of classes that have QAPISchemaMember connect them to their documentation. Change them to delegate the actual work to new QAPISchemaMember.connect_doc(). Matches the .connect_doc() that already exist. Signed-off-by: Markus Armbruster --- scripts/qapi/schema.py | 23

[PATCH v2 05/30] tests/test-qmp-cmds: Factor out qmp_dispatch() test helpers

2020-03-03 Thread Markus Armbruster
Checking the value of qmp_dispatch() is repetitive. Factor out helpers do_qmp_dispatch() and do_qmp_dispatch_error(). Without this, the next commit would make things even more repetitive. Signed-off-by: Markus Armbruster --- tests/test-qmp-cmds.c | 72

[PATCH v2 12/30] qapi: Add feature flags to remaining definitions

2020-03-03 Thread Markus Armbruster
ags to commands") to satisfy another immediate need (commit d76744e65e "qapi: Allow introspecting fix for savevm's cooperation with blockdev"). Add them to the remaining definitions: enumeration types, union types, alternate types, and events. Signed-off-by: Markus Armbruster ---

[PATCH v2 14/30] qapi/introspect: Rename *qlit* to reduce confusion

2020-03-03 Thread Markus Armbruster
put, and "qlit" only for output: rename to_qlit() to _tree_to_qlit(), ._qlits to ._trees, ._gen_qlit() to ._gen_tree(). Signed-off-by: Markus Armbruster --- scripts/qapi/introspect.py | 35 ++- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/script

[PATCH v2 21/30] qapi: Inline do_qmp_dispatch() into qmp_dispatch()

2020-03-03 Thread Markus Armbruster
Both functions check @request is a QDict, and both have code for QCO_NO_SUCCESS_RESP. This wasn't the case back when they were created. It's a sign of muddled responsibilities. Inline. The next commits will clean up some more. Signed-off-by: Markus Armbruster --- qapi/qmp-dispatch.c | 90

[PATCH v2 13/30] qapi: Consistently put @features parameter right after @ifcond

2020-03-03 Thread Markus Armbruster
Signed-off-by: Markus Armbruster --- scripts/qapi/commands.py | 6 +++--- scripts/qapi/doc.py| 10 +- scripts/qapi/introspect.py | 10 +- scripts/qapi/schema.py | 36 -- scripts/qapi/types.py | 4

[PATCH v2 07/30] tests/test-qmp-cmds: Simplify test data setup

2020-03-03 Thread Markus Armbruster
Building requests with qdict_put() & friends is tedious to write and hard to read. Parse them from string literals with qdict_from_vjsonf_nofail() instead. Signed-off-by: Markus Armbruster --- tests/test-qmp-cmds.c | 93 ++- 1 file changed, 38 insert

Re: [PATCH v2 00/30] Configurable policy for handling deprecated interfaces

2020-03-04 Thread Markus Armbruster
Peter Maydell writes: > On Tue, 3 Mar 2020 at 16:37, Markus Armbruster wrote: >> >> Based-on: <20200227144531.24309-1-arm...@redhat.com> >> >> This series extends QMP introspection to cover deprecation. >> Additionally, new option -compat lets you

Re: [PATCH v2 00/30] Configurable policy for handling deprecated interfaces

2020-03-04 Thread Markus Armbruster
Peter Maydell writes: > On Wed, 4 Mar 2020 at 08:18, Markus Armbruster wrote: >> Peter Maydell writes: >> > How much do you think this is likely to affect the >> > generate-rst-from-qapi-docs series? I'd really like >> > that to go in for this release, but

Re: [PATCH v2 1/6] ui: add show-cursor option

2020-02-06 Thread Markus Armbruster
-1153,6 +1155,7 @@ >'base': { 'type' : 'DisplayType', > '*full-screen' : 'bool', > '*window-close' : 'bool', > +'*show-cursor' : 'bool', > '*gl': 'DisplayGLMode' }, >'discriminator' : 'type', >'data': { 'gtk': 'DisplayGTK', Acked-by: Markus Armbruster

Re: [PATCH v3 1/7] ui: add show-cursor option

2020-02-07 Thread Markus Armbruster
bool', > '*window-close' : 'bool', > +'*show-cursor' : 'bool', > '*gl': 'DisplayGLMode' }, >'discriminator' : 'type', > 'data': { 'gtk': 'DisplayGTK', With the doc comment tidied up: Reviewed-by: Markus Armbruster

Re: [PATCH 1/2] pvpanic: introduce crashloaded for pvpanic

2020-01-21 Thread Markus Armbruster
zhenwei pi writes: > Add bit 1 for pvpanic. This bit means that guest hits a panic, but > guest wants to handle error by itself. Typical case: Linux guest runs > kdump in panic. It will help us to separate the abnormal reboot from > normal operation. > > Signed-off-by: zhenwei pi > --- >

Re: [PATCH 2/2] pvpanic: implement crashloaded event handling

2020-01-21 Thread Markus Armbruster
zhenwei pi writes: > Handle bit 1 write, then post event to monitor. > > Suggested by Paolo, declear a new event, using GUEST_PANICKED could > cause upper layers to react by shutting down or rebooting the guest. > > In advance for extention, add GuestPanicInformation in event message. > >

Re: [PATCH 1/2] pvpanic: introduce crashloaded for pvpanic

2020-01-21 Thread Markus Armbruster
Paolo Bonzini writes: > On 21/01/20 09:22, Markus Armbruster wrote: >> zhenwei pi writes: >> >>> Add bit 1 for pvpanic. This bit means that guest hits a panic, but >>> guest wants to handle error by itself. Typical case: Linux guest runs >>> k

[PATCH v3 00/34] Configurable policy for handling deprecated interfaces

2020-03-15 Thread Markus Armbruster
org/archive/html/qemu-devel/2018-10/msg05828.html Cc: Lukáš Doktor Cc: libgues...@redhat.com Cc: libvir-list@redhat.com Cc: Daniel P. Berrange Cc: Peter Krempa Markus Armbruster (34): qemu-doc: Belatedly document QMP command arg & result deprecation qapi: Belatedly update doc comment f

Re: [PATCH v4 00/34] Configurable policy for handling deprecated interfaces

2020-05-08 Thread Markus Armbruster
Peter Krempa writes: > On Tue, Mar 17, 2020 at 12:54:25 +0100, Markus Armbruster wrote: >> This series extends QMP introspection to cover deprecation. >> Additionally, new option -compat lets you configure what to do when >> deprecated interfaces get used. This is inten

Re: [PATCH v2 11/13] audio: deprecate -soundhw pcspk

2020-05-18 Thread Markus Armbruster
Gerd Hoffmann writes: > Hi, > >> Initialization order looks tricky though. I'd have to create pcspk >> early, simliar to flash, in pc_machine_initfn(). Problem is I don't >> have a isa bus yet at that point (flash is sysbus and doesn't have this >> problem). I'm open to suggestions hiow do

<    1   2   3   4   5   6   >