[libvirt] [PATCH 1/3] Make QEMU driver use -chardev everywhere when it's available
Change -monitor, -serial and -parallel output to use -chardev if it is available. * src/qemu/qemu_conf.c: Update qemudBuildCommandLine to use -chardev where available. * tests/qemuxml2argvtest.c tests/qemuxml2argvdata/: Add -chardev equivalents for all current serial and parallel tests. --- src/qemu/qemu_conf.c | 108 +--- .../qemuxml2argv-channel-guestfwd.args |2 +- .../qemuxml2argv-console-compat-chardev.args |1 + .../qemuxml2argv-console-compat-chardev.xml| 28 + .../qemuxml2argv-parallel-tcp-chardev.args |1 + .../qemuxml2argv-parallel-tcp-chardev.xml | 27 + .../qemuxml2argv-serial-dev-chardev.args |1 + .../qemuxml2argv-serial-dev-chardev.xml| 30 ++ .../qemuxml2argv-serial-file-chardev.args |1 + .../qemuxml2argv-serial-file-chardev.xml | 30 ++ .../qemuxml2argv-serial-many-chardev.args |1 + .../qemuxml2argv-serial-many-chardev.xml | 32 ++ .../qemuxml2argv-serial-pty-chardev.args |1 + .../qemuxml2argv-serial-pty-chardev.xml| 28 + .../qemuxml2argv-serial-tcp-chardev.args |1 + .../qemuxml2argv-serial-tcp-chardev.xml| 32 ++ .../qemuxml2argv-serial-tcp-telnet-chardev.args|1 + .../qemuxml2argv-serial-tcp-telnet-chardev.xml | 32 ++ .../qemuxml2argv-serial-udp-chardev.args |1 + .../qemuxml2argv-serial-udp-chardev.xml| 32 ++ .../qemuxml2argv-serial-unix-chardev.args |1 + .../qemuxml2argv-serial-unix-chardev.xml | 30 ++ .../qemuxml2argv-serial-vc-chardev.args|1 + .../qemuxml2argv-serial-vc-chardev.xml | 28 + tests/qemuxml2argvtest.c | 12 ++ 25 files changed, 445 insertions(+), 17 deletions(-) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-console-compat-chardev.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-console-compat-chardev.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-parallel-tcp-chardev.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-parallel-tcp-chardev.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-dev-chardev.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-dev-chardev.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-file-chardev.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-file-chardev.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-many-chardev.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-many-chardev.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-pty-chardev.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-pty-chardev.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-chardev.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-chardev.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-telnet-chardev.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-telnet-chardev.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-udp-chardev.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-udp-chardev.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-unix-chardev.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-unix-chardev.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-vc-chardev.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-vc-chardev.xml diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c index a25fac6..86172c6 100644 --- a/src/qemu/qemu_conf.c +++ b/src/qemu/qemu_conf.c @@ -1863,17 +1863,37 @@ int qemudBuildCommandLine(virConnectPtr conn, if (monitor_chr) { virBuffer buf = VIR_BUFFER_INITIALIZER; -if (monitor_json) -virBufferAddLit(buf, control,); +/* Use -chardev if it's available */ +if (qemuCmdFlags QEMUD_CMD_FLAG_CHARDEV) { +qemudBuildCommandLineChrDevChardevStr(monitor_chr, monitor, buf); +if (virBufferError(buf)) { +virBufferFreeAndReset(buf); +goto no_memory; +} + +ADD_ARG_LIT(-chardev); +ADD_ARG(virBufferContentAndReset(buf)); + +if (monitor_json) +virBufferAddLit(buf, control,); + +virBufferAddLit(buf, chardev:monitor); +} + +else { +if (monitor_json) +virBufferAddLit(buf, control,); + +qemudBuildCommandLineChrDevStr(monitor_chr, buf); +} -qemudBuildCommandLineChrDevStr(monitor_chr, buf); if (virBufferError(buf)) { virBufferFreeAndReset(buf); goto no_memory; }
Re: [libvirt] [PATCH 1/3] Make QEMU driver use -chardev everywhere when it's available
On Mon, Nov 23, 2009 at 12:30:27PM +, Matthew Booth wrote: Change -monitor, -serial and -parallel output to use -chardev if it is available. * src/qemu/qemu_conf.c: Update qemudBuildCommandLine to use -chardev where available. * tests/qemuxml2argvtest.c tests/qemuxml2argvdata/: Add -chardev equivalents for all current serial and parallel tests. ACK Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :| -- Libvir-list mailing list Libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
[libvirt] [PATCH 1/3] Make QEMU driver use -chardev everywhere when it's available
Change -monitor, -serial and -parallel output to use -chardev if it is available. * src/qemu/qemu_conf.c: Update qemudBuildCommandLine to use -chardev where available. * tests/qemuxml2argvtest.c tests/qemuxml2argvdata/: Add -chardev equivalents for all current serial and parallel tests. --- src/qemu/qemu_conf.c | 93 --- .../qemuxml2argv-channel-guestfwd.args |2 +- .../qemuxml2argv-console-compat-chardev.args |1 + .../qemuxml2argv-console-compat-chardev.xml| 28 ++ .../qemuxml2argv-parallel-tcp-chardev.args |1 + .../qemuxml2argv-parallel-tcp-chardev.xml | 27 ++ .../qemuxml2argv-serial-dev-chardev.args |1 + .../qemuxml2argv-serial-dev-chardev.xml| 30 ++ .../qemuxml2argv-serial-file-chardev.args |1 + .../qemuxml2argv-serial-file-chardev.xml | 30 ++ .../qemuxml2argv-serial-many-chardev.args |1 + .../qemuxml2argv-serial-many-chardev.xml | 32 +++ .../qemuxml2argv-serial-pty-chardev.args |1 + .../qemuxml2argv-serial-pty-chardev.xml| 28 ++ .../qemuxml2argv-serial-tcp-chardev.args |1 + .../qemuxml2argv-serial-tcp-chardev.xml| 32 +++ .../qemuxml2argv-serial-tcp-telnet-chardev.args|1 + .../qemuxml2argv-serial-tcp-telnet-chardev.xml | 32 +++ .../qemuxml2argv-serial-udp-chardev.args |1 + .../qemuxml2argv-serial-udp-chardev.xml| 32 +++ .../qemuxml2argv-serial-unix-chardev.args |1 + .../qemuxml2argv-serial-unix-chardev.xml | 30 ++ .../qemuxml2argv-serial-vc-chardev.args|1 + .../qemuxml2argv-serial-vc-chardev.xml | 28 ++ tests/qemuxml2argvtest.c | 12 +++ 25 files changed, 431 insertions(+), 16 deletions(-) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-console-compat-chardev.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-console-compat-chardev.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-parallel-tcp-chardev.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-parallel-tcp-chardev.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-dev-chardev.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-dev-chardev.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-file-chardev.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-file-chardev.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-many-chardev.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-many-chardev.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-pty-chardev.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-pty-chardev.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-chardev.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-chardev.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-telnet-chardev.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-telnet-chardev.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-udp-chardev.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-udp-chardev.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-unix-chardev.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-unix-chardev.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-vc-chardev.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-vc-chardev.xml diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c index f26e94d..51d8515 100644 --- a/src/qemu/qemu_conf.c +++ b/src/qemu/qemu_conf.c @@ -1858,12 +1858,27 @@ int qemudBuildCommandLine(virConnectPtr conn, if (monitor_chr) { virBuffer buf = VIR_BUFFER_INITIALIZER; -qemudBuildCommandLineChrDevStr(monitor_chr, buf); -if (virBufferError(buf)) -goto error; +/* Use -chardev if it's available */ +if (qemuCmdFlags QEMUD_CMD_FLAG_CHARDEV) { +qemudBuildCommandLineChrDevChardevStr(monitor_chr, monitor, buf); +if (virBufferError(buf)) +goto error; + +ADD_ARG_LIT(-chardev); +ADD_ARG(virBufferContentAndReset(buf)); + +ADD_ARG_LIT(-monitor); +ADD_ARG_LIT(chardev:monitor); +} + +else { +qemudBuildCommandLineChrDevStr(monitor_chr, buf); +if (virBufferError(buf)) +goto error; -ADD_ARG_LIT(-monitor); -ADD_ARG(virBufferContentAndReset(buf)); +ADD_ARG_LIT(-monitor); +ADD_ARG(virBufferContentAndReset(buf)); +} } if (def-localtime) @@ -2146,12 +2161,36 @@ int