libvirt performs cpu checking if "check" is set to "partial", but skips
checking the cpu if "check" is set to "full".
See https://bugzilla.redhat.com/show_bug.cgi?id=1840770
Signed-off-by: Tim Wiederhake
---
src/qemu/qemu_process.c | 8
1 file changed, 8 insertions(+)
diff --git
On 2/25/21 2:39 AM, Peng Liang wrote:
On 2/24/2021 9:59 PM, Michal Privoznik wrote:
On 2/24/21 12:28 PM, Peng Liang wrote:
qemuMonitorUnregister will be called in multiple threads (e.g. threads
in rpc worker pool and the vm event thread). In some cases, it isn't
protected by the monitor lock,
On 24/02/2021 15.10, Daniel P. Berrangé wrote:
On Wed, Feb 24, 2021 at 02:58:19PM +0100, Thomas Huth wrote:
On 24/02/2021 14.11, Daniel P. Berrangé wrote:
This was replaced by the '-device usb-DEV' option.
Signed-off-by: Daniel P. Berrangé
---
docs/system/deprecated.rst | 9 ---
On 2/24/21 11:17 AM, Peter Krempa wrote:
Trying to report an OOM error is pointless since our infrastructure to
report error needs to allocate memory to report the error.
In addition our code mistakenly reported OOM errors even in cases where
a function could fail for another reason, which
On 2/24/21 11:17 AM, Peter Krempa wrote:
The function has also non-OOM failure case when the passed string has 0
length, so reporting OOM error is not correct.
Signed-off-by: Peter Krempa
---
src/vmx/vmx.c | 8 ++--
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git
On 2/24/21 11:16 AM, Peter Krempa wrote:
Out of memory isn't the only reason the function can fail. Add a message
stating that copying of a XML node failed.
Could it still fail due to OOM as well, though? And if so, is there any
way of differentiating? (I previously looked into this for some
On 2/24/2021 9:59 PM, Michal Privoznik wrote:
> On 2/24/21 12:28 PM, Peng Liang wrote:
>> qemuMonitorUnregister will be called in multiple threads (e.g. threads
>> in rpc worker pool and the vm event thread). In some cases, it isn't
>> protected by the monitor lock, which may lead to call
On 2/24/21 11:16 AM, Peter Krempa wrote:
'virReportOOMError' is nowadays mostly useless since an OOM error will
trigger yet another allocation failure in the logger when attempting to
log the error.
Additionally it was also used in few places which can fail with other
failures than OOM.
To
On 2/23/21 12:24 PM, Kristina Hanicova wrote:
In files: src/lxc/lxc_native: in lxcAddNetworkRouteDefinition(),
src/conf/networkcommon_conf: in virNetDevIPRouteCreate() and
virNetDevIPRouteParseXML()
Signed-off-by: Kristina Hanicova
Reviewed-by: Laine Stump
On 2/23/21 12:24 PM, Kristina Hanicova wrote:
In files: src/conf/domain_conf: in virDomainNetIPInfoParseXML(),
src/lxc/lxc_native: in lxcAddNetworkRouteDefinition(),
src/vz/vz_sdk: in prlsdkGetRoutes(), src/conf/networkcommon_conf:
in virNetDevIPRouteCreate()
Signed-off-by: Kristina Hanicova
On 2/23/21 12:24 PM, Kristina Hanicova wrote:
Signed-off-by: Kristina Hanicova
---
src/conf/networkcommon_conf.c | 14 +-
1 file changed, 5 insertions(+), 9 deletions(-)
diff --git a/src/conf/networkcommon_conf.c b/src/conf/networkcommon_conf.c
index 26eeb6dbda..e82dbc3d3d
On Mon, 22 Feb 2021 11:08:12 +0100
Erik Skultety wrote:
> On Wed, Feb 03, 2021 at 11:38:44AM -0600, Jonathon Jongsma wrote:
> > This patch series follows the previously-merged series which added
> > support for transient mediated devices. This series expands mdev
> > support to include
Using the job owner API name directly works fine as long as it is a
static string or the owner's thread is still running. However, this is
not always the case. For example, when the owner API name is filled in a
job when we're reconnecting to existing domains after daemon restart,
the dynamically
On Wed, 2021-02-24 at 15:04 +0100, Michal Privoznik wrote:
> The most important bit is that the caller is expected to pass
> locked monitor.
>
> Signed-off-by: Michal Privoznik
> ---
> src/qemu/qemu_monitor.c | 7 +++
> 1 file changed, 7 insertions(+)
Reviewed-by: Andrea Bolognani
--
Am 24.02.2021 um 16:21 hat Dr. David Alan Gilbert geschrieben:
> * Kevin Wolf (kw...@redhat.com) wrote:
> > This adds a QAPI schema for the properties of the objects implementing
> > the confidential-guest-support interface.
> >
> > pef-guest and s390x-pv-guest don't have any properties, so they
VIR_RESIZE_N can't fail nowadays, adjust the macro.
Signed-off-by: Peter Krempa
---
src/util/virfirewall.c | 20 +++-
1 file changed, 3 insertions(+), 17 deletions(-)
diff --git a/src/util/virfirewall.c b/src/util/virfirewall.c
index 6b04a8011f..95962568f5 100644
---
VIR_APPEND_ELEMENT_COPY will abort the program on OOM so there's no need
to check.
Signed-off-by: Peter Krempa
---
src/util/virfirewall.c | 19 ++-
1 file changed, 6 insertions(+), 13 deletions(-)
diff --git a/src/util/virfirewall.c b/src/util/virfirewall.c
index
'xmlBufferCreate' returns NULL only on allocation failure. Add a wrapper
which will call 'abort()' in such case in a centralised spot. It doesn't
make much sense to continue execution from here.
Signed-off-by: Peter Krempa
---
src/conf/domain_conf.c | 5 +
src/conf/network_conf.c | 5
Neither virFirewallGroupNew nor VIR_EXPAND_N can fail.
Signed-off-by: Peter Krempa
---
src/util/virfirewall.c | 13 +++--
1 file changed, 3 insertions(+), 10 deletions(-)
diff --git a/src/util/virfirewall.c b/src/util/virfirewall.c
index 95962568f5..66b33d4a91 100644
---
Similarly to other allocation calls abort() on failure.
Signed-off-by: Peter Krempa
---
src/util/iohelper.c | 7 +++
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/src/util/iohelper.c b/src/util/iohelper.c
index 49d939d290..b8810d16d3 100644
--- a/src/util/iohelper.c
+++
Attempting to report error in case when we ran out of memory is
pointless.
Signed-off-by: Peter Krempa
---
src/libxl/libxl_conf.c | 6 ++
src/libxl/libxl_driver.c | 7 +++
2 files changed, 5 insertions(+), 8 deletions(-)
diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c
VIR_EXPAND_N will abort so we can simplify the hash iterator.
Signed-off-by: Peter Krempa
---
src/hypervisor/virclosecallbacks.c | 15 +--
1 file changed, 1 insertion(+), 14 deletions(-)
diff --git a/src/hypervisor/virclosecallbacks.c
b/src/hypervisor/virclosecallbacks.c
index
Signed-off-by: Peter Krempa
---
src/util/virxml.c | 6 ++
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/src/util/virxml.c b/src/util/virxml.c
index 62bbafacd6..060b7530fc 100644
--- a/src/util/virxml.c
+++ b/src/util/virxml.c
@@ -789,10 +789,8 @@ virXMLParseHelper(int
Signed-off-by: Peter Krempa
---
src/util/virxml.c | 6 ++
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/src/util/virxml.c b/src/util/virxml.c
index ebe479f5d3..62bbafacd6 100644
--- a/src/util/virxml.c
+++ b/src/util/virxml.c
@@ -51,10 +51,8 @@ virXMLXPathContextNew(xmlDocPtr
The function just allocates a helper object. Reporting errors would be
pointless when we encounter OOM situation.
Signed-off-by: Peter Krempa
---
src/hyperv/hyperv_wmi.c | 8 ++--
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/src/hyperv/hyperv_wmi.c b/src/hyperv/hyperv_wmi.c
OOM isn't the only failure glfs_new can encounter. Report an error which
might give more insight. libgfapi seems to be setting errno but
reporting a system error migt be misleading.
Signed-off-by: Peter Krempa
---
src/storage/storage_backend_gluster.c | 3 ++-
The function has also non-OOM failure case when the passed string has 0
length, so reporting OOM error is not correct.
Signed-off-by: Peter Krempa
---
src/vmx/vmx.c | 8 ++--
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c
index
Trying to report an OOM error is pointless since our infrastructure to
report error needs to allocate memory to report the error.
In addition our code mistakenly reported OOM errors even in cases where
a function could fail for another reason, which would make issues harder
to debug.
Remove the
'xmlNewDoc' and 'xmlNewDocComment' return NULL only on allocation
failure. Attempting to raise an error is pointless.
Signed-off-by: Peter Krempa
---
src/vbox/vbox_snapshot_conf.c | 12
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/src/vbox/vbox_snapshot_conf.c
The yajl library returns a wide range of error codes so reporting OOM on
any failure is wrong. In case the error was really based by memory issue
the error reporting will probably cause an abort anyways. Change the
error message so that we know that it happened in JSON at least.
Signed-off-by:
Signed-off-by: Peter Krempa
---
src/util/virprocess.c | 12
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/src/util/virprocess.c b/src/util/virprocess.c
index 41c5678537..69d64e9466 100644
--- a/src/util/virprocess.c
+++ b/src/util/virprocess.c
@@ -462,10 +462,8 @@
Out of memory isn't the only reason the function can fail. Add a message
stating that copying of a XML node failed.
Signed-off-by: Peter Krempa
---
src/conf/domain_conf.c | 3 ++-
src/test/test_driver.c | 6 --
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git
The function is used in many places and fails only on allocation
failures. Since trying to recover from allocation failure of a small
buffer by reporting error doesn't make sense add a wrapper for
'nlmsg_alloc_simple' which will 'abort()' on failure and replace all
allocations of netlink message
Trying to report an error on OOM is pointless since error handling
allocates memory.
Signed-off-by: Peter Krempa
---
src/vbox/vbox_common.c | 20
src/vbox/vbox_common.h | 15 +--
2 files changed, 13 insertions(+), 22 deletions(-)
diff --git
If the argument of 'xmlSaveUri' is non-NULL the function returns NULL on
OOM failure only. Thus we can directly abort rather than try to do the
impossible recovery.
Signed-off-by: Peter Krempa
---
src/util/viruri.c | 8 +++-
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git
Add a wrapper that will handle the out of memory condition by abort()
and also prevents callers from having to typecast the argument.
Signed-off-by: Peter Krempa
---
src/conf/domain_conf.c| 7 ++-
src/libvirt_private.syms | 1 +
src/util/virxml.c | 13
There's nothing that would set the 'err' field of virFirewallPtr to
ENOMEM so we can remove the checks.
Signed-off-by: Peter Krempa
---
src/util/virfirewall.c | 10 +-
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/src/util/virfirewall.c b/src/util/virfirewall.c
index
The OOM error handling is dead code nowadays.
Signed-off-by: Peter Krempa
---
src/util/vircommand.c | 96 +--
1 file changed, 20 insertions(+), 76 deletions(-)
diff --git a/src/util/vircommand.c b/src/util/vircommand.c
index f11caf0d6e..1a4b77ea24 100644
Switch to use g_autoptr for 'doc' and 'new' local variables.
Additionally report proper error when 'xmlAddChild' fails because OOM is
not the only error it can report.
Signed-off-by: Peter Krempa
---
src/conf/domain_conf.c | 34 --
1 file changed, 16
'virLogGetFilters' doesn't return failure and 'virLogGetOutputs' reports
it's own errors.
Signed-off-by: Peter Krempa
---
src/lxc/lxc_process.c | 9 +
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/src/lxc/lxc_process.c b/src/lxc/lxc_process.c
index cbc04a3dcd..679709605e
Get the buffer contents into a temporary variable with automatic
clearing so that the error branches don't have to reset the buffer.
Additionally handle the NULL string case before assignment.
Signed-off-by: Peter Krempa
---
src/util/vircommand.c | 14 +++---
1 file changed, 7
x86FeatureNames uses virBuffer and thus can't fail nowadays.
Signed-off-by: Peter Krempa
---
src/cpu/cpu_x86.c | 6 +-
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c
index 92f945beb4..79c5868ae6 100644
--- a/src/cpu/cpu_x86.c
+++
The function can't fail nowadays, remove the return value and adjust
callers.
Signed-off-by: Peter Krempa
---
docs/internals/command.html.in | 8 +---
src/util/virfcp.c | 3 +--
src/util/virfile.c | 7 +--
src/util/virfile.h | 2 +-
The buffer won't encounter OOM condition nowadays
Signed-off-by: Peter Krempa
---
tests/virhostcputest.c | 5 +
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/tests/virhostcputest.c b/tests/virhostcputest.c
index 786a363e48..2608f0becc 100644
--- a/tests/virhostcputest.c
+++
The function is supposed to always consume the passed environment
variable string. Use a temp variable with autofree and g_steal_pointer
to prevent having to free it manually.
Signed-off-by: Peter Krempa
---
src/util/vircommand.c | 9 +
1 file changed, 5 insertions(+), 4 deletions(-)
Since error checking was removed when switching to g_strdup, it doesn't
make much sense to have 'tmp' around.
Signed-off-by: Peter Krempa
---
src/conf/domain_conf.c | 15 ++-
1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/src/conf/domain_conf.c
Signed-off-by: Peter Krempa
---
src/util/virxml.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/util/virxml.h b/src/util/virxml.h
index f73b8975ba..e696dd25f5 100644
--- a/src/util/virxml.h
+++ b/src/util/virxml.h
@@ -255,6 +255,7 @@
Signed-off-by: Peter Krempa
---
src/util/virpci.c | 1 -
src/util/virscsi.c | 1 -
src/util/virscsivhost.c | 1 -
3 files changed, 3 deletions(-)
diff --git a/src/util/virpci.c b/src/util/virpci.c
index 8147ce11e9..3df4199532 100644
--- a/src/util/virpci.c
+++ b/src/util/virpci.c
@@
'virReportOOMError' is nowadays mostly useless since an OOM error will
trigger yet another allocation failure in the logger when attempting to
log the error.
Additionally it was also used in few places which can fail with other
failures than OOM.
To prevent both errorneous usage types, let's
On Wed, Feb 24, 2021 at 14:52:24 +0100, Kevin Wolf wrote:
> This series adds a QAPI type for the properties of all user creatable
> QOM types and finally makes the --object command line option (in all
> binaries) and the object-add monitor commands (in QMP and HMP) use the
> new ObjectOptions
Hack the qemuxml2argvtest to force-validate everything with latest
capabilities. The result is expected:
190) QEMU XML-2-ARGV disk-network-tlsx509-vxhs.x86_64-5.0.0...
failed to validate -blockdev
The commandline generator for 'iothread' objects has a private
implementation of the properties. Convert it to JSON so that it can be
later validated.
Signed-off-by: Peter Krempa
---
src/qemu/qemu_command.c | 18 +++---
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git
Starting from qemu-6.0 the parameters of -object/object-add are formally
described by the QAPI schema. Additionally this changes the nesting of
the properties as the 'props' nested object will be flattened to the
parent.
We'll need to detect whether qemu switched to this new approach to
generate
While the 'sev0' sev-guest object will never be hotplugged, but we want
to generate it through JSON so that we'll be able to validate all
parameters of '-object' against the QAPI schema once 'object-add' is
qapified in qemu.
Signed-off-by: Peter Krempa
---
src/qemu/qemu_command.c
The qemu commandline builder's QEMU_BUILD_COMMANDLINE_VALIDATE_KEEP_JSON
flag disables JSON->commandline conversion so that our qemuxml2argvtest
can use the commandline test repostitory for validating our JSON props
generators which are in many cases used on the montitor where we need to
conform
Libvirt is now prepared for QAPIfied object-add.
Signed-off-by: Peter Krempa
---
tests/qemumonitorjsontest.c | 14 --
1 file changed, 14 deletions(-)
diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c
index 82c74e2ef9..48b41c908a 100644
---
While the 'masterKey0' secret object will never be hotplugged we want to
generate it through JSON so that we'll be able to validate all
parameters of '-object' against the QAPI schema once 'object-add' is
qapified in qemu.
Signed-off-by: Peter Krempa
---
src/qemu/qemu_command.c | 12
There's just one caller left. Since qemuBuildMemoryBackendProps is too
complex to be modified for now, just move the adding of 'id' and 'qom'
type directly into the function.
Signed-off-by: Peter Krempa
---
src/qemu/qemu_command.c | 6 --
src/qemu/qemu_monitor.c | 15 ---
qemu qapified object-add, which means that it's introspectable via
query-qmp-schema. Update the qemu-6.0 capabilities to commit
XX
TODO: update to pushed version
---
.../caps_6.0.0.x86_64.replies | 3238 -
.../caps_6.0.0.x86_64.xml |
Similarly to the validation for blockdev-add and netdev_add, use the
qemuxml2argv test repository to drive validation of props for
object-add.
Signed-off-by: Peter Krempa
---
tests/qemuxml2argvtest.c | 20
1 file changed, 20 insertions(+)
diff --git
Construct the JSON object which is used for object-add without the
'props' wrapper and add the wrapper only in the monitor code.
This simplifies the JSON->commandline generator in the first place and
also prepares for upcoming qemu where 'props' will be removed.
Signed-off-by: Peter Krempa
---
QEMU plans to QAPIfy object add. This series prepares for the API change
(drop of 'props' wrapper for the object) and adds testing based on our
qemuxml2argv test data which forces the output to JSON and validates it
agains the schema.
Based on Kevin's qemu patches:
Set 'objectAddNoWrap' when the capability is present.
Signed-off-by: Peter Krempa
---
src/qemu/qemu_monitor.c | 5 +
1 file changed, 5 insertions(+)
diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c
index 121c21be5c..1e4c4809b1 100644
--- a/src/qemu/qemu_monitor.c
+++
* Kevin Wolf (kw...@redhat.com) wrote:
> This switches the HMP command object_add from a QemuOpts-based parser to
> user_creatable_add_from_str() which uses a keyval parser and enforces
> the QAPI schema.
>
> Apart from being a cleanup, this makes non-scalar properties and help
> accessible. In
* Kevin Wolf (kw...@redhat.com) wrote:
> This adds a QAPI schema for the properties of the objects implementing
> the confidential-guest-support interface.
>
> pef-guest and s390x-pv-guest don't have any properties, so they only
> need to be added to the ObjectType enum without adding a new
On 2/24/21 3:38 PM, Peter Maydell wrote:
> On Wed, 24 Feb 2021 at 13:21, Daniel P. Berrangé wrote:
>>
>> The following features have been deprecated for well over the 2
>> release cycle we promise
>>
>> ``-usbdevice`` (since 2.10.0)
>> ``-drive file=3Djson:{...{'driver':'file'}}`` (since 3.0)
On Wed, Feb 24, 2021 at 02:38:43PM +, Peter Maydell wrote:
> On Wed, 24 Feb 2021 at 13:21, Daniel P. Berrangé wrote:
> >
> > The following features have been deprecated for well over the 2
> > release cycle we promise
> >
> > ``-usbdevice`` (since 2.10.0)
> > ``-drive
On 24/02/2021 14.11, Daniel P. Berrangé wrote:
This has been hardcoded to "false" since 2.10.0, since secrets required
to unlock block devices are now always provided upfront instead of using
interactive prompts.
Signed-off-by: Daniel P. Berrangé
---
block/qapi.c | 1 -
On Wed, 24 Feb 2021 at 13:21, Daniel P. Berrangé wrote:
>
> The following features have been deprecated for well over the 2
> release cycle we promise
>
> ``-usbdevice`` (since 2.10.0)
> ``-drive file=3Djson:{...{'driver':'file'}}`` (since 3.0)
> ``-vnc acl`` (since 4.0.0)
> ``-mon
On 24/02/2021 14.11, Daniel P. Berrangé wrote:
The 'scsi-hd' and 'scsi-cd' devices provide suitable alternatives.
Signed-off-by: Daniel P. Berrangé
---
docs/system/deprecated.rst | 9 -
docs/system/removed-features.rst | 6
hw/i386/pc.c | 1 -
On 24/02/2021 14.11, Daniel P. Berrangé wrote:
The 'ide-hd' and 'ide-cd' devices provide suitable alternatives.
Signed-off-by: Daniel P. Berrangé
---
docs/qdev-device-use.txt | 2 +-
docs/system/deprecated.rst | 6 -
docs/system/removed-features.rst | 9
On Wed, Feb 24, 2021 at 02:58:19PM +0100, Thomas Huth wrote:
> On 24/02/2021 14.11, Daniel P. Berrangé wrote:
> > This was replaced by the '-device usb-DEV' option.
> >
> > Signed-off-by: Daniel P. Berrangé
> > ---
> > docs/system/deprecated.rst | 9 ---
> >
The most important bit is that the caller is expected to pass
locked monitor.
Signed-off-by: Michal Privoznik
---
src/qemu/qemu_monitor.c | 7 +++
1 file changed, 7 insertions(+)
diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c
index ed35da17e1..73f337a6be 100644
---
On 2/24/21 12:28 PM, Peng Liang wrote:
qemuMonitorUnregister will be called in multiple threads (e.g. threads
in rpc worker pool and the vm event thread). In some cases, it isn't
protected by the monitor lock, which may lead to call g_source_unref
more than one time and a use-after-free problem
user_creatable_add_opts() has only a single user left, which is a test
case. Rewrite the test to use user_creatable_add_type() instead (which
is the remaining function that doesn't require a QAPI schema) and drop
the QemuOpts related functions.
Signed-off-by: Kevin Wolf
---
The implementation for --object can be shared between
qemu-storage-daemon and other binaries, so move it into a function in
qom/object_interfaces.c that is accessible from everywhere.
This also requires moving the implementation of qmp_object_add() into a
new user_creatable_add_qapi(), because
This function is now unused and can be removed.
Signed-off-by: Kevin Wolf
---
include/qom/object_interfaces.h | 18 --
qom/object_interfaces.c | 32
2 files changed, 50 deletions(-)
diff --git a/include/qom/object_interfaces.h
This converts object-add from 'gen': false to the ObjectOptions QAPI
type. As an immediate benefit, clients can now use QAPI schema
introspection for user creatable QOM objects.
It is also the first step towards making the QAPI schema the only
external interface for the creation of user creatable
This is a version of user_creatable_process_cmdline() with an Error
parameter that never calls exit() and is therefore usable in HMP.
Signed-off-by: Kevin Wolf
---
include/qom/object_interfaces.h | 16
qom/object_interfaces.c | 29 -
2 files
On 24/02/2021 14.11, Daniel P. Berrangé wrote:
This was replaced by the '-device usb-DEV' option.
Signed-off-by: Daniel P. Berrangé
---
docs/system/deprecated.rst | 9 ---
docs/system/removed-features.rst | 9 +++
softmmu/vl.c | 42
This switches the HMP command object_add from a QemuOpts-based parser to
user_creatable_add_from_str() which uses a keyval parser and enforces
the QAPI schema.
Apart from being a cleanup, this makes non-scalar properties and help
accessible. In order for help to be printed to the monitor instead
This switches qemu-img from a QemuOpts-based parser for --object to
user_creatable_process_cmdline() which uses a keyval parser and enforces
the QAPI schema.
Apart from being a cleanup, this makes non-scalar properties accessible.
Signed-off-by: Kevin Wolf
---
qemu-img.c | 239
This switches qemu-io from a QemuOpts-based parser for --object to
user_creatable_process_cmdline() which uses a keyval parser and enforces
the QAPI schema.
Apart from being a cleanup, this makes non-scalar properties accessible.
Signed-off-by: Kevin Wolf
---
qemu-io.c | 33
This switches the system emulator from a QemuOpts-based parser for
-object to user_creatable_parse_str() which uses a keyval parser and
enforces the QAPI schema.
Apart from being a cleanup, this makes non-scalar properties accessible.
This adopts a similar model as -blockdev uses: When parsing
This QAPIfies --object and ensures that QMP and the command line option
behave the same.
Signed-off-by: Kevin Wolf
---
storage-daemon/qemu-storage-daemon.c | 21 ++---
1 file changed, 10 insertions(+), 11 deletions(-)
diff --git a/storage-daemon/qemu-storage-daemon.c
This adds a QAPI schema for the properties of the memory-backend-*
objects.
HostMemPolicy has to be moved to an include file that can be used by the
storage daemon, too, because ObjectOptions must be the same in all
binaries if we don't want to compile the whole code multiple times.
The system emulator has a more complicated way of handling command line
options in that it reorders options before it processes them. This means
that parsing object options and creating the object happen at two
different points. Split the parsing part into a separate function that
can be reused by
This switches qemu-nbd from a QemuOpts-based parser for --object to
user_creatable_process_cmdline() which uses a keyval parser and enforces
the QAPI schema.
Apart from being a cleanup, this makes non-scalar properties accessible.
Signed-off-by: Kevin Wolf
---
qemu-nbd.c | 34
This adds a QAPI schema for the properties of the x-remote-object
object.
Signed-off-by: Kevin Wolf
---
qapi/qom.json | 20 ++--
1 file changed, 18 insertions(+), 2 deletions(-)
diff --git a/qapi/qom.json b/qapi/qom.json
index f8ff322df0..6793342e81 100644
--- a/qapi/qom.json
This adds a QAPI schema for the properties of the cryptodev-* objects.
These interfaces have some questionable aspects (cryptodev-backend is
really an abstract base class without function, and the queues option
only makes sense for cryptodev-vhost-user), but as the goal is to
represent the
This code is going away anyway, but for a few more commits, we'll be in
a state where some binaries still use QemuOpts and others don't. If the
"object" QemuOptsList doesn't even exist, we don't have to remove (or
fail to remove, and therefore abort) a user creatable object from it.
This adds a QAPI schema for the properties of the filter-* objects.
Some parts of the interface (in particular NetfilterProperties.position)
are very unusual for QAPI, but for now just describe the existing
interface.
net.json can't be included in qom.json because the storage daemon
doesn't have
This adds a QAPI schema for the properties of the secret* objects.
The 'loaded' property doesn't seem to make sense as an external
interface: It is automatically set to true in ucc->complete, and
explicitly setting it to true earlier just means that additional options
will be silently ignored.
This adds a QAPI schema for the properties of the rng-* objects.
The 'opened' property doesn't seem to make sense as an external
interface: It is automatically set to true in ucc->complete, and
explicitly setting it to true earlier just means that trying to set
additional options will result in
Add an ObjectOptions union that will eventually describe the options of
all user creatable object types. As unions can't exist without any
branches, also add the first object type.
This adds a QAPI schema for the properties of the iothread object.
Signed-off-by: Kevin Wolf
---
qapi/qom.json |
This adds a QAPI schema for the properties of the tls-* objects.
The 'loaded' property doesn't seem to make sense as an external
interface: It is automatically set to true in ucc->complete, and
explicitly setting it to true earlier just means that additional options
will be silently ignored.
In
This adds a QAPI schema for the properties of the colo-compare object.
Signed-off-by: Kevin Wolf
---
qapi/qom.json | 49 +
1 file changed, 49 insertions(+)
diff --git a/qapi/qom.json b/qapi/qom.json
index 4b1cd4b8dc..8e4414f843 100644
---
This adds a QAPI schema for the properties of the can-* objects.
can-bus doesn't have any properties, so it only needs to be added to the
ObjectType enum without adding a new branch to ObjectOptions.
Signed-off-by: Kevin Wolf
---
qapi/qom.json | 18 ++
1 file changed, 18
This adds a QAPI schema for the properties of the input-* objects.
ui.json cannot be included in qom.json because the storage daemon can't
use it, so move GrabToggleKeys to common.json.
Signed-off-by: Kevin Wolf
---
qapi/common.json | 12 ++
qapi/qom.json| 58
This adds a QAPI schema for the properties of the objects implementing
the confidential-guest-support interface.
pef-guest and s390x-pv-guest don't have any properties, so they only
need to be added to the ObjectType enum without adding a new branch to
ObjectOptions.
Signed-off-by: Kevin Wolf
1 - 100 of 137 matches
Mail list logo