[libvirt PATCH] qemu_monitor_json: fix JSON generator for VC chardev

Pavel Hrdina phrdina at redhat.com
Thu Feb 4 12:06:00 UTC 2021


On Thu, Feb 04, 2021 at 01:00:51PM +0100, Michal Privoznik wrote:
> On 2/3/21 7:01 PM, Pavel Hrdina wrote:
> > The correct backend type is 'vc', same as in qemuBuildChrChardevStr()
> > where we generate qemu command line.
> > 
> > Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
> > ---
> >   src/qemu/qemu_monitor_json.c | 5 ++++-
> >   tests/qemumonitorjsontest.c  | 2 +-
> >   2 files changed, 5 insertions(+), 2 deletions(-)
> > 
> > diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c
> > index 97c5e5b36c..231f0ded32 100644
> > --- a/src/qemu/qemu_monitor_json.c
> > +++ b/src/qemu/qemu_monitor_json.c
> > @@ -7438,10 +7438,13 @@ qemuMonitorJSONAttachCharDevCommand(const char *chrID,
> >       switch ((virDomainChrType)chr->type) {
> >       case VIR_DOMAIN_CHR_TYPE_NULL:
> > -    case VIR_DOMAIN_CHR_TYPE_VC:
> >           backend_type = "null";
> >           break;
> > +    case VIR_DOMAIN_CHR_TYPE_VC:
> > +        backend_type = "vc";
> > +        break;
> > +
> >       case VIR_DOMAIN_CHR_TYPE_PTY:
> >           backend_type = "pty";
> >           break;
> > diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c
> > index 29c396891b..956423f10f 100644
> > --- a/tests/qemumonitorjsontest.c
> > +++ b/tests/qemumonitorjsontest.c
> > @@ -718,7 +718,7 @@ qemuMonitorJSONTestAttachChardev(virDomainXMLOptionPtr xmlopt,
> >       chr = (virDomainChrSourceDef) { .type = VIR_DOMAIN_CHR_TYPE_VC };
> >       CHECK("vc", false,
> > -          "{'id':'alias','backend':{'type':'null','data':{}}}");
> > +          "{'id':'alias','backend':{'type':'vc','data':{}}}");
> >       chr = (virDomainChrSourceDef) { .type = VIR_DOMAIN_CHR_TYPE_PTY };
> >       if (qemuMonitorJSONTestAttachOneChardev(xmlopt, schema, "pty", &chr,
> > 
> 
> Reviewed-by: Michal Privoznik <mprivozn at redhat.com>

Thanks

> But maybe we could deduplicate some code? I mean, qemuBuildChrChardevStr()
> and some parts of qemuMonitorJSONAttachCharDevCommand() look very similar
> and we could use  virQEMUBuildCommandLineJSON() or something. But merging
> the patch as is is okay too.

That was a plan but it is not that trivial as the JSON and cmdline
syntax are different.

Pavel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20210204/0778c20e/attachment-0001.sig>


More information about the libvir-list mailing list