]> git.proxmox.com Git - qemu.git/commitdiff
qmp: add and use q type specifier
authorPaolo Bonzini <pbonzini@redhat.com>
Thu, 22 Mar 2012 11:51:11 +0000 (12:51 +0100)
committerLuiz Capitulino <lcapitulino@redhat.com>
Tue, 27 Mar 2012 12:15:28 +0000 (09:15 -0300)
"O" is being used by the transaction and qom-set commands to mean "any
QObject", but it really means "do not validate the argument list".
Add a new specifier with the correct meaning.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
monitor.c
qmp-commands.hx

index 2ff1e0b4d6d585b023d9b0c12dbfca9757fb4df4..8946a100c0e61720734019958adf9f2fed6e17b8 100644 (file)
--- a/monitor.c
+++ b/monitor.c
@@ -4157,6 +4157,9 @@ static int check_client_args_type(const QDict *client_args,
         case 'O':
             assert(flags & QMP_ACCEPT_UNKNOWNS);
             break;
+        case 'q':
+            /* Any QObject can be passed.  */
+            break;
         case '/':
         case '.':
             /*
index c626ba8d3d19ff63d0c9ab1c1a979244fa8aa61d..944787161f38e95d5219a904afc5f3ca7546c5fa 100644 (file)
@@ -708,7 +708,7 @@ EQMP
     },
     {
         .name       = "transaction",
-        .args_type  = "actions:O",
+        .args_type  = "actions:q",
         .mhandler.cmd_new = qmp_marshal_input_transaction,
     },
 
@@ -2125,7 +2125,7 @@ EQMP
 
     {
         .name       = "qom-set",
-       .args_type  = "path:s,property:s,opts:O",
+       .args_type  = "path:s,property:s,value:q",
        .mhandler.cmd_new = qmp_qom_set,
     },