• M
    qmp: Redo how the client requests out-of-band execution · 00ecec15
    Markus Armbruster 提交于
    Commit cf869d53 "qmp: support out-of-band (oob) execution" added a
    general mechanism for command-independent arguments just for an
    out-of-band flag:
    
        The "control" key is introduced to store this extra flag.  "control"
        field is used to store arguments that are shared by all the commands,
        rather than command specific arguments.  Let "run-oob" be the first.
    
    However, it failed to reject unknown members of "control".  For
    instance, in QMP command
    
        {"execute": "query-name", "id": 42, "control": {"crap": true}}
    
    "crap" gets silently ignored.
    
    Instead of fixing this, revert the general "control" mechanism
    (because YAGNI), and do it the way I initially proposed, with key
    "exec-oob".  Simpler code, simpler interface.
    
    An out-of-band command
    
        {"execute": "migrate-pause", "id": 42, "control": {"run-oob": true}}
    
    becomes
    
        {"exec-oob": "migrate-pause", "id": 42}
    Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
    Reviewed-by: NEric Blake <eblake@redhat.com>
    Message-Id: <20180703085358.13941-13-armbru@redhat.com>
    [Commit message typo fixed]
    00ecec15
qapi-code-gen.txt 50.1 KB