[PATCH 04/17] qemu: monitor: Drop support for extra wrapper for 'object_add'

Peter Krempa posted 17 patches 9 months, 1 week ago
[PATCH 04/17] qemu: monitor: Drop support for extra wrapper for 'object_add'
Posted by Peter Krempa 9 months, 1 week ago
The QAPIfication of objects removed the extra warapper object which we
were adding in the monitor code to simplify the other callers.

Now that we support only qemus which don't require this we can drop the
support code.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
---
 src/qemu/qemu_monitor.c      | 27 +--------------------------
 src/qemu/qemu_monitor_priv.h |  2 --
 2 files changed, 1 insertion(+), 28 deletions(-)

diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c
index c069d17265..724e82e8a4 100644
--- a/src/qemu/qemu_monitor.c
+++ b/src/qemu/qemu_monitor.c
@@ -600,7 +600,6 @@ qemuMonitorOpenInternal(virDomainObj *vm,
     mon->cb = cb;

     if (priv) {
-        mon->objectAddNoWrap = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_OBJECT_JSON);
         mon->queryNamedBlockNodesFlat = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_QMP_QUERY_NAMED_BLOCK_NODES_FLAT);
         mon->blockjobMaskProtocol = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKJOB_BACKING_MASK_PROTOCOL);
     }
@@ -2660,7 +2659,6 @@ qemuMonitorAddObject(qemuMonitor *mon,
                      virJSONValue **props,
                      char **alias)
 {
-    g_autoptr(virJSONValue) pr = NULL;
     const char *type = NULL;
     const char *id = NULL;
     g_autofree char *aliasCopy = NULL;
@@ -2688,30 +2686,7 @@ qemuMonitorAddObject(qemuMonitor *mon,
     if (alias)
         aliasCopy = g_strdup(id);

-    if (mon->objectAddNoWrap) {
-        pr = g_steal_pointer(props);
-    } else {
-        /* we need to create a wrapper which has the 'qom-type' and 'id' and
-         * store everything else under a 'props' sub-object */
-        g_autoptr(virJSONValue) typeobj = NULL;
-        g_autoptr(virJSONValue) idobj = NULL;
-
-        ignore_value(virJSONValueObjectRemoveKey(*props, "qom-type", &typeobj));
-        ignore_value(virJSONValueObjectRemoveKey(*props, "id", &idobj));
-
-        /* avoid empty 'props' member */
-        if (!virJSONValueObjectGetKey(*props, 0))
-            g_clear_pointer(props, virJSONValueFree);
-
-        if (virJSONValueObjectAdd(&pr,
-                                  "s:qom-type", type,
-                                  "s:id", id,
-                                  "A:props", props,
-                                  NULL) < 0)
-            return -1;
-    }
-
-    if (qemuMonitorJSONAddObject(mon, &pr) < 0)
+    if (qemuMonitorJSONAddObject(mon, props) < 0)
         return -1;

     if (alias)
diff --git a/src/qemu/qemu_monitor_priv.h b/src/qemu/qemu_monitor_priv.h
index 0c2098c456..8cb5e2c3a4 100644
--- a/src/qemu/qemu_monitor_priv.h
+++ b/src/qemu/qemu_monitor_priv.h
@@ -88,8 +88,6 @@ struct _qemuMonitor {
     void *logOpaque;
     virFreeCallback logDestroy;

-    /* true if qemu no longer wants 'props' sub-object of object-add */
-    bool objectAddNoWrap;
     /* query-named-block-nodes supports the 'flat' option */
     bool queryNamedBlockNodesFlat;
     /* use the backing-mask-protocol flag of block-commit/stream */
-- 
2.48.1
Re: [PATCH 04/17] qemu: monitor: Drop support for extra wrapper for 'object_add'
Posted by Ján Tomko 9 months, 1 week ago
On a Wednesday in 2025, Peter Krempa wrote:
>The QAPIfication of objects removed the extra warapper object which we

wrapper

>were adding in the monitor code to simplify the other callers.
>
>Now that we support only qemus which don't require this we can drop the
>support code.
>
>Signed-off-by: Peter Krempa <pkrempa@redhat.com>
>---
> src/qemu/qemu_monitor.c      | 27 +--------------------------
> src/qemu/qemu_monitor_priv.h |  2 --
> 2 files changed, 1 insertion(+), 28 deletions(-)
>

Reviewed-by: Ján Tomko <jtomko@redhat.com>

Jano
Re: [PATCH 04/17] qemu: monitor: Drop support for extra wrapper for 'object_add'
Posted by Daniel P. Berrangé 9 months, 1 week ago
On Wed, Mar 12, 2025 at 05:31:14PM +0100, Peter Krempa wrote:
> The QAPIfication of objects removed the extra warapper object which we

s/warapper/wrapper/

> were adding in the monitor code to simplify the other callers.
> 
> Now that we support only qemus which don't require this we can drop the
> support code.

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|