[libvirt] migration: qemu vs. qemu+tcp at virsh vs. libvirt-java
by Thomas Treutner
Hi,
I'm having a little problem when triggering (live) migration from libvirt-java
(libvirt.so at client is approx. 0.7.1), I get an error that the qemu://
driver for migration URIs is not supported, only qemu+tcp://
Strange thing is, with virsh at the same client (same libvirt.so), qemu://
works. Interestingly, the error message seems to come from libvirt.so and not
libvirt-java.
I'd like to avoid maintaining two different URIs/drivers for normal
connections and migration destinations, especially as it works flawlessly
(and fast!) with virsh?
Has anyone clues where this twisted-mind behaviour could come from?
kr,
tom
14 years, 11 months
[libvirt] RFC exposing SRIOV PF<->VF relationships
by Dave Allan
It would be helpful to have an API that exposes the relationship between
SR IOV physical functions (PFs) and virtual functions (VFs). I'm
thinking of implementing three new API calls and adding a small amount
of additional information in the node device pci device capability, as
in the attached patch. Let me know what you think.
Dave
>From 6ad5d2d6f06647295cde128a6c309e645e283146 Mon Sep 17 00:00:00 2001
From: David Allan <dallan(a)redhat.com>
Date: Mon, 16 Nov 2009 16:06:00 -0500
Subject: [PATCH 1/1] Added basis of SR IOV PF<->VF relationship support
* Added three functions to node device API
* Added a little additional information to the node device PCI device capabilities to track the PF<->VFs relationships.
---
src/conf/node_device_conf.h | 3 +++
src/driver.h | 11 +++++++++++
2 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/src/conf/node_device_conf.h b/src/conf/node_device_conf.h
index 639a7e7..a130dd9 100644
--- a/src/conf/node_device_conf.h
+++ b/src/conf/node_device_conf.h
@@ -105,6 +105,9 @@ struct _virNodeDevCapsDef {
unsigned class;
char *product_name;
char *vendor_name;
+ char *physical_function;
+ char **virtual_functions;
+ unsigned num_virtual_functions;
} pci_dev;
struct {
unsigned bus;
diff --git a/src/driver.h b/src/driver.h
index 09ce8e2..c818ced 100644
--- a/src/driver.h
+++ b/src/driver.h
@@ -805,6 +805,14 @@ typedef int (*virDevMonDeviceListCaps)(virNodeDevicePtr dev,
char **const names,
int maxnames);
+typedef int (*virDevMonDeviceNumOfVFs)(virNodeDevicePtr dev);
+
+typedef int (*virDevMonDeviceListVFs)(virNodeDevicePtr dev,
+ char **const names,
+ int maxnames);
+
+typedef int (*virDevMonDeviceGetPF)(virNodeDevicePtr dev);
+
typedef virNodeDevicePtr (*virDrvNodeDeviceCreateXML)(virConnectPtr conn,
const char *xmlDesc,
unsigned int flags);
@@ -828,6 +836,9 @@ struct _virDeviceMonitor {
virDevMonDeviceGetParent deviceGetParent;
virDevMonDeviceNumOfCaps deviceNumOfCaps;
virDevMonDeviceListCaps deviceListCaps;
+ virDevMonDeviceNumOfVFs deviceNumOfVFs;
+ virDevMonDeviceListVFs deviceListVFs;
+ virDevMonDeviceGetPF deviceGetPF;
virDrvNodeDeviceCreateXML deviceCreateXML;
virDrvNodeDeviceDestroy deviceDestroy;
};
--
1.6.5.1
14 years, 11 months
[libvirt] PATCH 0/2]: Fix CPU affinity management for NR_CPUS > 1024
by Daniel P. Berrange
The RHEL-6 Alpha kernels have defined NR_CPUS=4096
The glibc static cpu_set_t data type used with sched_[gs]etaffinity()
has been sized with
# define __CPU_SETSIZE 1024
So any attempt to use sched_[gs]etaffinity() with a static cpu_set_t
on a RHEL-6 kernel ends up with -EINVAL, even if the machine does not
physically have > 1024 CPUs. The syscall mandates that the cpu set
arg is large enough to hold entire of NR_CPUS.
Fairly recent gLibc's now provide an alternative dynamically allocated
cpu_set_t data type, where the app tells glibc how many CPUs it has to
be able to hold. Great, except, the kernel does not tell userspace what
NR_CPUS it has been compiled with. So apps have to a pick a starting
size, try the sched_[gs]etaffinity() call, catch EINVAL, enlarge the
cpuset, repeat, repeat, repeat until it works.
This was going to be horrible to put into the qemu driver code, so
I've introduced a new util/processinfo.[h,c] file providing APis for
getting/setting CPU affinity that use the dynamically allocate mask
libvirt defines in its public API.
Daniel
14 years, 11 months
[libvirt] PATCH: configure.in should use 'ld' from $PATH for checking version-script syntax, not hardcode /usr/bin/ld
by Steve Yarmie
Hi,
I had a few minor patches which I had sent by using Bugzilla.
I believe I should have sent them to this list instead...
Here's the first (reference 531496
https://bugzilla.redhat.com/show_bug.cgi?id=531496)
configure.in should use 'ld' from $PATH for checking version-script
syntax, not hard-coded in /usr/bin/ld
-Steve
--- libvirt/configure.in 2009-11-08 20:57:08.194911693 -0800
+++ libvirt-ld/configure.in 2009-11-08 22:12:57.524840188 -0800
@@ -66,7 +66,7 @@
AM_PROG_CC_C_O
VERSION_SCRIPT_FLAGS=-Wl,--version-script=
-`/usr/bin/ld --help 2>&1 | grep -- --version-script >/dev/null` || \
+`ld --help 2>&1 | grep -- --version-script >/dev/null` || \
VERSION_SCRIPT_FLAGS="-Wl,-M -Wl,"
AC_SUBST(VERSION_SCRIPT_FLAGS)
14 years, 11 months
[libvirt] [PATCH] Support QEMU's virtual FAT block device driver
by Daniel P. Berrange
Introduce a new type="dir" mode for <disks> that allows use of
QEMU's virtual FAT block device driver. eg
<disk type='dir' device='floppy'>
<source dir='/tmp/test'/>
<target dev='fda' bus='fdc'/>
<readonly/>
</disk>
gets turned into
-drive file=fat:floppy:/tmp/test,if=floppy,index=0
Only read-only disks are supported with virtual FAT mode
* src/conf/domain_conf.c, src/conf/domain_conf.h: Add type="dir"
* docs/schemas/domain.rng: Document new disk type
* src/xen/xend_internal.c, src/xen/xm_internal.c: Raise error for
unsupported disk types
* tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-empty.args: Fix
empty disk file handling
* tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fat.args,
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fat.xml,
tests/qemuxml2argvdata/qemuxml2argv-floppy-drive-fat.args,
tests/qemuxml2argvdata/qemuxml2argv-floppy-drive-fat.xml
tests/qemuxml2argvtest.c: Test QEMU vitual FAT driver
* src/qemu/qemu_conf.c: Support generating fat:/some/dir type
disk args
* src/security/security_selinux.c: Temporarily skip labelling
of directory based disks
---
docs/schemas/domain.rng | 16 ++++++
src/conf/domain_conf.c | 36 ++++++++++++--
src/conf/domain_conf.h | 1 +
src/qemu/qemu_conf.c | 49 ++++++++++++++++++-
src/security/security_selinux.c | 3 +
src/xen/xend_internal.c | 7 ++-
src/xen/xm_internal.c | 16 +++++-
.../qemuxml2argv-disk-cdrom-empty.args | 2 +-
.../qemuxml2argv-disk-drive-fat.args | 1 +
.../qemuxml2argv-disk-drive-fat.xml | 24 ++++++++++
.../qemuxml2argv-floppy-drive-fat.args | 1 +
.../qemuxml2argv-floppy-drive-fat.xml | 24 ++++++++++
tests/qemuxml2argvtest.c | 4 ++
tests/qemuxml2xmltest.c | 2 +
14 files changed, 173 insertions(+), 13 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fat.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fat.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-floppy-drive-fat.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-floppy-drive-fat.xml
diff --git a/docs/schemas/domain.rng b/docs/schemas/domain.rng
index 1bf44fd..7a3ef97 100644
--- a/docs/schemas/domain.rng
+++ b/docs/schemas/domain.rng
@@ -434,6 +434,22 @@
<ref name="diskspec"/>
</interleave>
</group>
+ <group>
+ <attribute name="type">
+ <value>dir</value>
+ </attribute>
+ <interleave>
+ <optional>
+ <element name="source">
+ <attribute name="dir">
+ <ref name="absFilePath"/>
+ </attribute>
+ <empty/>
+ </element>
+ </optional>
+ <ref name="diskspec"/>
+ </interleave>
+ </group>
<ref name="diskspec"/>
</choice>
</element>
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 0a7eef7..42820a7 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -90,7 +90,8 @@ VIR_ENUM_IMPL(virDomainDevice, VIR_DOMAIN_DEVICE_LAST,
VIR_ENUM_IMPL(virDomainDisk, VIR_DOMAIN_DISK_TYPE_LAST,
"block",
- "file")
+ "file",
+ "dir")
VIR_ENUM_IMPL(virDomainDiskDevice, VIR_DOMAIN_DISK_DEVICE_LAST,
"disk",
@@ -777,10 +778,22 @@ virDomainDiskDefParseXML(virConnectPtr conn,
if ((source == NULL) &&
(xmlStrEqual(cur->name, BAD_CAST "source"))) {
- if (def->type == VIR_DOMAIN_DISK_TYPE_FILE)
+ switch (def->type) {
+ case VIR_DOMAIN_DISK_TYPE_FILE:
source = virXMLPropString(cur, "file");
- else
+ break;
+ case VIR_DOMAIN_DISK_TYPE_BLOCK:
source = virXMLPropString(cur, "dev");
+ break;
+ case VIR_DOMAIN_DISK_TYPE_DIR:
+ source = virXMLPropString(cur, "dir");
+ break;
+ default:
+ virDomainReportError(conn, VIR_ERR_INTERNAL_ERROR,
+ _("unexpected disk type %s"),
+ virDomainDiskTypeToString(def->type));
+ goto error;
+ }
/* People sometimes pass a bogus '' source path
when they mean to omit the source element
@@ -3951,12 +3964,25 @@ virDomainDiskDefFormat(virConnectPtr conn,
}
if (def->src) {
- if (def->type == VIR_DOMAIN_DISK_TYPE_FILE)
+ switch (def->type) {
+ case VIR_DOMAIN_DISK_TYPE_FILE:
virBufferEscapeString(buf, " <source file='%s'/>\n",
def->src);
- else
+ break;
+ case VIR_DOMAIN_DISK_TYPE_BLOCK:
virBufferEscapeString(buf, " <source dev='%s'/>\n",
def->src);
+ break;
+ case VIR_DOMAIN_DISK_TYPE_DIR:
+ virBufferEscapeString(buf, " <source dir='%s'/>\n",
+ def->src);
+ break;
+ default:
+ virDomainReportError(conn, VIR_ERR_INTERNAL_ERROR,
+ _("unexpected disk type %s"),
+ virDomainDiskTypeToString(def->type));
+ return -1;
+ }
}
virBufferVSprintf(buf, " <target dev='%s' bus='%s'/>\n",
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index 1fdb4fa..6201463 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -67,6 +67,7 @@ enum virDomainVirtType {
enum virDomainDiskType {
VIR_DOMAIN_DISK_TYPE_BLOCK,
VIR_DOMAIN_DISK_TYPE_FILE,
+ VIR_DOMAIN_DISK_TYPE_DIR,
VIR_DOMAIN_DISK_TYPE_LAST
};
diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
index c807688..2d72b4b 100644
--- a/src/qemu/qemu_conf.c
+++ b/src/qemu/qemu_conf.c
@@ -1980,8 +1980,30 @@ int qemudBuildCommandLine(virConnectPtr conn,
break;
}
- virBufferVSprintf(&opt, "file=%s", disk->src ? disk->src : "");
- virBufferVSprintf(&opt, ",if=%s", bus);
+ if (disk->src) {
+ if (disk->type == VIR_DOMAIN_DISK_TYPE_DIR) {
+ /* QEMU only supports magic FAT format for now */
+ if (disk->driverType &&
+ STRNEQ(disk->driverType, "fat")) {
+ qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
+ _("unsupported disk driver type for '%s'"),
+ disk->driverType);
+ goto error;
+ }
+ if (!disk->readonly) {
+ qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR, "%s",
+ _("cannot create virtual FAT disks in read-write mode"));
+ goto error;
+ }
+ if (disk->device == VIR_DOMAIN_DISK_DEVICE_FLOPPY)
+ virBufferVSprintf(&opt, "file=fat:floppy:%s,", disk->src);
+ else
+ virBufferVSprintf(&opt, "file=fat:%s,", disk->src);
+ } else {
+ virBufferVSprintf(&opt, "file=%s,", disk->src);
+ }
+ }
+ virBufferVSprintf(&opt, "if=%s", bus);
if (disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM)
virBufferAddLit(&opt, ",media=cdrom");
virBufferVSprintf(&opt, ",index=%d", idx);
@@ -1989,6 +2011,7 @@ int qemudBuildCommandLine(virConnectPtr conn,
disk->device == VIR_DOMAIN_DISK_DEVICE_DISK)
virBufferAddLit(&opt, ",boot=on");
if (disk->driverType &&
+ disk->type != VIR_DOMAIN_DISK_TYPE_DIR &&
qemuCmdFlags & QEMUD_CMD_FLAG_DRIVE_FORMAT)
virBufferVSprintf(&opt, ",format=%s", disk->driverType);
if (disk->serial &&
@@ -2057,7 +2080,27 @@ int qemudBuildCommandLine(virConnectPtr conn,
}
}
- snprintf(file, PATH_MAX, "%s", disk->src);
+ if (disk->type == VIR_DOMAIN_DISK_TYPE_DIR) {
+ /* QEMU only supports magic FAT format for now */
+ if (disk->driverType &&
+ STRNEQ(disk->driverType, "fat")) {
+ qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
+ _("unsupported disk driver type for '%s'"),
+ disk->driverType);
+ goto error;
+ }
+ if (!disk->readonly) {
+ qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR, "%s",
+ _("cannot create virtual FAT disks in read-write mode"));
+ goto error;
+ }
+ if (disk->device == VIR_DOMAIN_DISK_DEVICE_FLOPPY)
+ snprintf(file, PATH_MAX, "fat:floppy:%s", disk->src);
+ else
+ snprintf(file, PATH_MAX, "fat:%s", disk->src);
+ } else {
+ snprintf(file, PATH_MAX, "%s", disk->src);
+ }
ADD_ARG_LIT(dev);
ADD_ARG_LIT(file);
diff --git a/src/security/security_selinux.c b/src/security/security_selinux.c
index bd838e6..255ba53 100644
--- a/src/security/security_selinux.c
+++ b/src/security/security_selinux.c
@@ -687,6 +687,9 @@ SELinuxSetSecurityLabel(virConnectPtr conn,
if (secdef->imagelabel) {
for (i = 0 ; i < vm->def->ndisks ; i++) {
+ /* XXX fixme - we need to recursively label the entriy tree :-( */
+ if (vm->def->disks[i]->type == VIR_DOMAIN_DISK_TYPE_DIR)
+ continue;
if (SELinuxSetSecurityImageLabel(conn, vm, vm->def->disks[i]) < 0)
return -1;
}
diff --git a/src/xen/xend_internal.c b/src/xen/xend_internal.c
index d61e9e6..e370eb8 100644
--- a/src/xen/xend_internal.c
+++ b/src/xen/xend_internal.c
@@ -5375,11 +5375,16 @@ xenDaemonFormatSxprDisk(virConnectPtr conn ATTRIBUTE_UNUSED,
} else {
if (def->type == VIR_DOMAIN_DISK_TYPE_FILE) {
virBufferVSprintf(buf, "(uname 'file:%s')", def->src);
- } else {
+ } else if (def->type == VIR_DOMAIN_DISK_TYPE_BLOCK) {
if (def->src[0] == '/')
virBufferVSprintf(buf, "(uname 'phy:%s')", def->src);
else
virBufferVSprintf(buf, "(uname 'phy:/dev/%s')", def->src);
+ } else {
+ virXendError(conn, VIR_ERR_CONFIG_UNSUPPORTED,
+ _("unsupported disk type %s"),
+ virDomainDiskTypeToString(def->type));
+ return -1;
}
}
}
diff --git a/src/xen/xm_internal.c b/src/xen/xm_internal.c
index f833ce7..31cff12 100644
--- a/src/xen/xm_internal.c
+++ b/src/xen/xm_internal.c
@@ -1973,9 +1973,19 @@ static int xenXMDomainConfigFormatDisk(virConnectPtr conn,
if (STREQ(disk->driverName, "tap"))
virBufferVSprintf(&buf, "%s:", disk->driverType ? disk->driverType : "aio");
} else {
- virBufferVSprintf(&buf, "%s:",
- disk->type == VIR_DOMAIN_DISK_TYPE_FILE ?
- "file" : "phy");
+ switch (disk->type) {
+ case VIR_DOMAIN_DISK_TYPE_FILE:
+ virBufferAddLit(&buf, "file:");
+ break;
+ case VIR_DOMAIN_DISK_TYPE_BLOCK:
+ virBufferAddLit(&buf, "phy:");
+ break;
+ default:
+ xenXMError(conn, VIR_ERR_INTERNAL_ERROR,
+ _("unsupported disk type %s"),
+ virDomainDiskTypeToString(disk->type));
+ goto cleanup;
+ }
}
virBufferVSprintf(&buf, "%s", disk->src);
}
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-empty.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-empty.args
index 1ef2602..1dd90d0 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-empty.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-empty.args
@@ -1 +1 @@
-LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor unix:/tmp/test-monitor,server,nowait -no-acpi -boot c -drive file=/dev/HostVG/QEMUGuest1,if=ide,index=0 -drive file=,if=ide,media=cdrom,index=2 -net none -serial none -parallel none -usb
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor unix:/tmp/test-monitor,server,nowait -no-acpi -boot c -drive file=/dev/HostVG/QEMUGuest1,if=ide,index=0 -drive if=ide,media=cdrom,index=2 -net none -serial none -parallel none -usb
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fat.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fat.args
new file mode 100644
index 0000000..da1163b
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fat.args
@@ -0,0 +1 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor unix:/tmp/test-monitor,server,nowait -no-acpi -boot c -drive file=fat:/var/somefiles,if=ide,index=0,boot=on -net none -serial none -parallel none -usb
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fat.xml b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fat.xml
new file mode 100644
index 0000000..818ca93
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fat.xml
@@ -0,0 +1,24 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory>219200</memory>
+ <currentMemory>219200</currentMemory>
+ <vcpu>1</vcpu>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu</emulator>
+ <disk type='dir' device='disk'>
+ <driver name='qemu' type='fat'/>
+ <source dir='/var/somefiles'/>
+ <target dev='hda' bus='ide'/>
+ <readonly/>
+ </disk>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-floppy-drive-fat.args b/tests/qemuxml2argvdata/qemuxml2argv-floppy-drive-fat.args
new file mode 100644
index 0000000..4b4e3f4
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-floppy-drive-fat.args
@@ -0,0 +1 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor unix:/tmp/test-monitor,server,nowait -no-acpi -boot a -drive file=fat:floppy:/var/somefiles,if=floppy,index=0 -net none -serial none -parallel none -usb
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-floppy-drive-fat.xml b/tests/qemuxml2argvdata/qemuxml2argv-floppy-drive-fat.xml
new file mode 100644
index 0000000..9e32b68
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-floppy-drive-fat.xml
@@ -0,0 +1,24 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory>219200</memory>
+ <currentMemory>219200</currentMemory>
+ <vcpu>1</vcpu>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='fd'/>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu</emulator>
+ <disk type='dir' device='floppy'>
+ <driver name='qemu' type='fat'/>
+ <source dir='/var/somefiles'/>
+ <target dev='fda' bus='fdc'/>
+ <readonly/>
+ </disk>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index c948379..677c5b4 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -211,6 +211,10 @@ mymain(int argc, char **argv)
QEMUD_CMD_FLAG_DRIVE_BOOT);
DO_TEST("disk-drive-boot-cdrom", QEMUD_CMD_FLAG_DRIVE |
QEMUD_CMD_FLAG_DRIVE_BOOT);
+ DO_TEST("floppy-drive-fat", QEMUD_CMD_FLAG_DRIVE |
+ QEMUD_CMD_FLAG_DRIVE_BOOT | QEMUD_CMD_FLAG_DRIVE_FORMAT);
+ DO_TEST("disk-drive-fat", QEMUD_CMD_FLAG_DRIVE |
+ QEMUD_CMD_FLAG_DRIVE_BOOT | QEMUD_CMD_FLAG_DRIVE_FORMAT);
DO_TEST("disk-drive-fmt-qcow", QEMUD_CMD_FLAG_DRIVE |
QEMUD_CMD_FLAG_DRIVE_BOOT | QEMUD_CMD_FLAG_DRIVE_FORMAT);
DO_TEST("disk-drive-shared", QEMUD_CMD_FLAG_DRIVE |
diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c
index 25ef2ce..793900c 100644
--- a/tests/qemuxml2xmltest.c
+++ b/tests/qemuxml2xmltest.c
@@ -98,6 +98,8 @@ mymain(int argc, char **argv)
DO_TEST("disk-many");
DO_TEST("disk-xenvbd");
DO_TEST("disk-usb");
+ DO_TEST("floppy-drive-fat");
+ DO_TEST("disk-drive-fat");
DO_TEST("disk-drive-fmt-qcow");
DO_TEST("disk-drive-cache-v1-wt");
DO_TEST("disk-drive-cache-v1-wb");
--
1.6.5.2
14 years, 11 months
[libvirt] [PATCH] 504914 Xen scheduler setting problems
by Daniel Veillard
504914 Xen scheduler setting problems
https://bugzilla.redhat.com/show_bug.cgi?id=504914
Doing virsh schedinfo rhel5u3 --cap 65535
the hypervisor does the call, but does not change the
value nor raise an error. Best is just to consider it's not in
the allowed values
The problem is that the error won't be ouput since the xend driver
will then be called and raise an error
error: this function is not supported by the hypervisor: unsupported in
xendConfigVersion < 4
which will override the useful information from
xenUnifiedDomainSetSchedulerParameters()
So best is to also invert the order in which the xen sub-drivers are
called
* src/xen/xen_hypervisor.c: mark 65535 cap value as out of bound
* src/xen/xen_hypervisor.c: reverse the order of the calls to the xen
sub drivers to get the error message if needed
diff --git a/src/xen/xen_driver.c b/src/xen/xen_driver.c
index 4bfcce4..a7da2ec 100644
--- a/src/xen/xen_driver.c
+++ b/src/xen/xen_driver.c
@@ -1524,7 +1524,8 @@ xenUnifiedDomainSetSchedulerParameters (virDomainPtr dom,
GET_PRIVATE(dom->conn);
int i, ret;
- for (i = 0; i < XEN_UNIFIED_NR_DRIVERS; ++i) {
+ /* do the hypervisor call last to get better error */
+ for (i = XEN_UNIFIED_NR_DRIVERS - 1; i >= 0; i--) {
if (priv->opened[i] && drivers[i]->domainSetSchedulerParameters) {
ret = drivers[i]->domainSetSchedulerParameters(dom, params, nparams);
if (ret == 0)
diff --git a/src/xen/xen_hypervisor.c b/src/xen/xen_hypervisor.c
index 843102a..4254bcd 100644
--- a/src/xen/xen_hypervisor.c
+++ b/src/xen/xen_hypervisor.c
@@ -1345,8 +1345,8 @@ xenHypervisorSetSchedulerParameters(virDomainPtr domain,
} else if (STREQ (params[i].field, str_cap) &&
params[i].type == VIR_DOMAIN_SCHED_FIELD_UINT) {
val = params[i].value.ui;
- if (val > USHRT_MAX) {
- snprintf(buf, sizeof(buf), _("Credit scheduler cap parameter (%d) is out of range (0-65535)"), val);
+ if (val >= USHRT_MAX) {
+ snprintf(buf, sizeof(buf), _("Credit scheduler cap parameter (%d) is out of range (0-65534)"), val);
virXenErrorFunc (domain->conn, VIR_ERR_INVALID_ARG, __FUNCTION__, buf, val);
return(-1);
}
--
Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
daniel(a)veillard.com | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library http://libvirt.org/
14 years, 11 months
[libvirt] vCenter behaviour
by Glenn Bailey
Howdy,
I was taking a look at libvirt for controlling a couple of vCenter clusters and noticed it will only let you login directly to an ESX host and not the vCenter server itself. You can pass the "vcenter=" command but this seems to just tell what vcenter server to use and doesn't directly access it. If you do a "list" it still just lists the devices on the given ESX host. For a quick test I modified the esx_driver.c and added the following (I am no c programmer BTW):
if (STRCASEEQ(conn->uri->scheme, "esx")) {
if (priv->host->productVersion != esxVI_ProductVersion_VPX25 &&
priv->host->productVersion != esxVI_ProductVersion_VPX40 &&
priv->host->productVersion != esxVI_ProductVersion_ESX35 &&
priv->host->productVersion != esxVI_ProductVersion_ESX40) {
Which would then let me connect directly to the vCenter server and list all the vm's on it. Am I missing something? I'm new to libvirt, but all management of a ESX cluster is always done through vCenter, and not the host. Sorry if this message is redundant as I didn't see anything blaring in the archives ;-)
glenn
terremark
14 years, 11 months
[libvirt] [PATCH] Fix typo in error message
by Matthew Booth
* src/qemu/qemu_monitor_text.c: Fix typo
* po/*.po: Update typo in translations
---
po/af.po | 2 +-
po/am.po | 2 +-
po/ar.po | 2 +-
po/as.po | 2 +-
po/be.po | 2 +-
po/bg.po | 2 +-
po/bn.po | 2 +-
po/bn_IN.po | 2 +-
po/bs.po | 2 +-
po/ca.po | 2 +-
po/cs.po | 2 +-
po/cy.po | 2 +-
po/da.po | 2 +-
po/de.po | 2 +-
po/el.po | 2 +-
po/en_GB.po | 2 +-
po/es.po | 2 +-
po/et.po | 2 +-
po/eu_ES.po | 2 +-
po/fa.po | 2 +-
po/fi.po | 2 +-
po/fr.po | 2 +-
po/gl.po | 2 +-
po/gu.po | 2 +-
po/he.po | 2 +-
po/hi.po | 2 +-
po/hr.po | 2 +-
po/hu.po | 2 +-
po/hy.po | 2 +-
po/id.po | 2 +-
po/is.po | 2 +-
po/it.po | 2 +-
po/ja.po | 2 +-
po/ka.po | 2 +-
po/kn.po | 2 +-
po/ko.po | 2 +-
po/ku.po | 2 +-
po/lo.po | 2 +-
po/lt.po | 2 +-
po/lv.po | 2 +-
po/mk.po | 2 +-
po/ml.po | 2 +-
po/mr.po | 2 +-
po/ms.po | 2 +-
po/my.po | 2 +-
po/nb.po | 2 +-
po/nl.po | 2 +-
po/nn.po | 2 +-
po/nso.po | 2 +-
po/or.po | 2 +-
po/pa.po | 2 +-
po/pl.po | 2 +-
po/pt.po | 2 +-
po/pt_BR.po | 2 +-
po/ro.po | 2 +-
po/ru.po | 2 +-
po/si.po | 2 +-
po/sk.po | 2 +-
po/sl.po | 2 +-
po/sq.po | 2 +-
po/sr.po | 2 +-
po/sr(a)latin.po | 2 +-
po/sv.po | 2 +-
po/ta.po | 2 +-
po/te.po | 2 +-
po/th.po | 2 +-
po/tr.po | 2 +-
po/uk.po | 2 +-
po/ur.po | 2 +-
po/vi.po | 2 +-
po/zh_CN.po | 2 +-
po/zh_TW.po | 2 +-
po/zu.po | 2 +-
src/qemu/qemu_monitor_text.c | 2 +-
74 files changed, 74 insertions(+), 74 deletions(-)
diff --git a/po/af.po b/po/af.po
index c64deda..c4711be 100644
--- a/po/af.po
+++ b/po/af.po
@@ -4957,7 +4957,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create domain from %s"
#: src/remote/remote_driver.c:328
diff --git a/po/am.po b/po/am.po
index c64deda..c4711be 100644
--- a/po/am.po
+++ b/po/am.po
@@ -4957,7 +4957,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create domain from %s"
#: src/remote/remote_driver.c:328
diff --git a/po/ar.po b/po/ar.po
index c64deda..c4711be 100644
--- a/po/ar.po
+++ b/po/ar.po
@@ -4957,7 +4957,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create domain from %s"
#: src/remote/remote_driver.c:328
diff --git a/po/as.po b/po/as.po
index b84d53b..3598e5b 100644
--- a/po/as.po
+++ b/po/as.po
@@ -5085,7 +5085,7 @@ msgstr "%s বিনেস নথিপত্ৰ পঢ়োঁতে বিফল
# c-format
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "'%s' সহযোগে নেটওয়ার্কের ব্যাক-এন্ড মুছে ফেলতে ব্যর্থ\n"
#: src/remote/remote_driver.c:328
diff --git a/po/be.po b/po/be.po
index c64deda..c4711be 100644
--- a/po/be.po
+++ b/po/be.po
@@ -4957,7 +4957,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create domain from %s"
#: src/remote/remote_driver.c:328
diff --git a/po/bg.po b/po/bg.po
index d34dccb..38e94b8 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -4931,7 +4931,7 @@ msgstr "грешка при четене на конфигурационния
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Неуспех при създаване на мрежа от %s"
#: src/remote/remote_driver.c:328
diff --git a/po/bn.po b/po/bn.po
index c64deda..c4711be 100644
--- a/po/bn.po
+++ b/po/bn.po
@@ -4957,7 +4957,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create domain from %s"
#: src/remote/remote_driver.c:328
diff --git a/po/bn_IN.po b/po/bn_IN.po
index 8ca9c26..3b647cb 100644
--- a/po/bn_IN.po
+++ b/po/bn_IN.po
@@ -4755,7 +4755,7 @@ msgstr "কনফিগ ফাইলের হ্যান্ডেল সংর
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "'%s' সহযোগে নেটওয়ার্কের ব্যাক-এন্ড মুছে ফেলতে ব্যর্থ\n"
#: src/remote/remote_driver.c:328
diff --git a/po/bs.po b/po/bs.po
index 73cd22b..e68f2c8 100644
--- a/po/bs.po
+++ b/po/bs.po
@@ -4924,7 +4924,7 @@ msgstr "čitanje konfiguracijske datoteke %s nije uspjelo"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Izrada domene iz %s nije uspjela"
#: src/remote/remote_driver.c:328
diff --git a/po/ca.po b/po/ca.po
index 50ec19b..768b5f4 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -5012,7 +5012,7 @@ msgstr "no s'ha pogut llegir el fitxer de configuració %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "No s'ha pogut crear la xarxa des de %s"
#: src/remote/remote_driver.c:328
diff --git a/po/cs.po b/po/cs.po
index 924c663..4ddfa65 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -4931,7 +4931,7 @@ msgstr "nepodařilo se načíst konfigurační soubor %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Nepodařilo se vytvořit síť z %s"
#: src/remote/remote_driver.c:328
diff --git a/po/cy.po b/po/cy.po
index c64deda..c4711be 100644
--- a/po/cy.po
+++ b/po/cy.po
@@ -4957,7 +4957,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create domain from %s"
#: src/remote/remote_driver.c:328
diff --git a/po/da.po b/po/da.po
index eb4d820..e5ec702 100644
--- a/po/da.po
+++ b/po/da.po
@@ -4930,7 +4930,7 @@ msgstr "kunne ikke læse konfigurationsfilen %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Kunne ikke oprette netværk fra %s"
#: src/remote/remote_driver.c:328
diff --git a/po/de.po b/po/de.po
index a08bfa4..e863e2e 100644
--- a/po/de.po
+++ b/po/de.po
@@ -4854,7 +4854,7 @@ msgstr "Konfigurationsdatei %s konnte nicht gelesen werden"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Fehler beim Erstellen des Netzwerks von %s"
#: src/remote/remote_driver.c:328
diff --git a/po/el.po b/po/el.po
index c64deda..c4711be 100644
--- a/po/el.po
+++ b/po/el.po
@@ -4957,7 +4957,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create domain from %s"
#: src/remote/remote_driver.c:328
diff --git a/po/en_GB.po b/po/en_GB.po
index 691f4ed..6c5dbee 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -4925,7 +4925,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create network from %s"
#: src/remote/remote_driver.c:328
diff --git a/po/es.po b/po/es.po
index df0cfed..97ba10c 100644
--- a/po/es.po
+++ b/po/es.po
@@ -4854,7 +4854,7 @@ msgstr "no es posible guardar el ide del archivo de configuración"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Falló al eliminar backend de red con '%s'\n"
#: src/remote/remote_driver.c:328
diff --git a/po/et.po b/po/et.po
index c64deda..c4711be 100644
--- a/po/et.po
+++ b/po/et.po
@@ -4957,7 +4957,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create domain from %s"
#: src/remote/remote_driver.c:328
diff --git a/po/eu_ES.po b/po/eu_ES.po
index c64deda..c4711be 100644
--- a/po/eu_ES.po
+++ b/po/eu_ES.po
@@ -4957,7 +4957,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create domain from %s"
#: src/remote/remote_driver.c:328
diff --git a/po/fa.po b/po/fa.po
index c64deda..c4711be 100644
--- a/po/fa.po
+++ b/po/fa.po
@@ -4957,7 +4957,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create domain from %s"
#: src/remote/remote_driver.c:328
diff --git a/po/fi.po b/po/fi.po
index 36abbd3..2956d51 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -4932,7 +4932,7 @@ msgstr "asetustiedoston %s lukeminen epäonnistui"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Verkon luominen tiedostosta %s epäonnistui"
#: src/remote/remote_driver.c:328
diff --git a/po/fr.po b/po/fr.po
index e73de19..fcc7f23 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -5018,7 +5018,7 @@ msgstr "impossible de lire le fichier de configuration %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Impossible de créer le réseau depuis %s"
#: src/remote/remote_driver.c:328
diff --git a/po/gl.po b/po/gl.po
index c64deda..c4711be 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -4957,7 +4957,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create domain from %s"
#: src/remote/remote_driver.c:328
diff --git a/po/gu.po b/po/gu.po
index 4d666c4..5779a06 100644
--- a/po/gu.po
+++ b/po/gu.po
@@ -4734,7 +4734,7 @@ msgstr "રૂપરેખાંકન ફાઇલ સંભાળવાનુ
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "'%s' સાથે નેટવર્ક બેકએન્ડને દૂર કરવામાં નિષ્ફળ\n"
#: src/remote/remote_driver.c:328
diff --git a/po/he.po b/po/he.po
index c64deda..c4711be 100644
--- a/po/he.po
+++ b/po/he.po
@@ -4957,7 +4957,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create domain from %s"
#: src/remote/remote_driver.c:328
diff --git a/po/hi.po b/po/hi.po
index c46172d..f49aea2 100644
--- a/po/hi.po
+++ b/po/hi.po
@@ -4797,7 +4797,7 @@ msgstr "विन्यास फाइल नियंत्रण जमा
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "'%s' के साथ संजाल बैकेंड हटाने में विफल\n"
# done by Ravi
diff --git a/po/hr.po b/po/hr.po
index 0243657..32f5228 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -4924,7 +4924,7 @@ msgstr "čitanje konfiguracijske datoteke %s nije uspjelo"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Izrada mreže iz %s nije uspjela"
#: src/remote/remote_driver.c:328
diff --git a/po/hu.po b/po/hu.po
index 55adc9c..1387cfb 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -4928,7 +4928,7 @@ msgstr "nem sikerült olvasni a(z) %s beállítási fájlt"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Nem sikerült létrehozni hálózatot ebből: %s"
#: src/remote/remote_driver.c:328
diff --git a/po/hy.po b/po/hy.po
index c64deda..c4711be 100644
--- a/po/hy.po
+++ b/po/hy.po
@@ -4957,7 +4957,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create domain from %s"
#: src/remote/remote_driver.c:328
diff --git a/po/id.po b/po/id.po
index b2af1a9..6a0fdd3 100644
--- a/po/id.po
+++ b/po/id.po
@@ -4900,7 +4900,7 @@ msgstr "gagal membaca berkas konfigurasi %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Gagal membuat jaringan dari %s"
#: src/remote/remote_driver.c:328
diff --git a/po/is.po b/po/is.po
index c64deda..c4711be 100644
--- a/po/is.po
+++ b/po/is.po
@@ -4957,7 +4957,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create domain from %s"
#: src/remote/remote_driver.c:328
diff --git a/po/it.po b/po/it.po
index dcd17d2..99aeb24 100644
--- a/po/it.po
+++ b/po/it.po
@@ -4850,7 +4850,7 @@ msgstr "impossibile conservare la gestione del file di configurazione"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Impossibile creare la rete da %s"
#: src/remote/remote_driver.c:328
diff --git a/po/ja.po b/po/ja.po
index f6533da..b8ae3e3 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -4824,7 +4824,7 @@ msgstr "設定ファイルハンドルの格納に失敗しました"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "'%s' を持つネットワークバックエンドの削除に失敗 \n"
#: src/remote/remote_driver.c:328
diff --git a/po/ka.po b/po/ka.po
index c64deda..c4711be 100644
--- a/po/ka.po
+++ b/po/ka.po
@@ -4957,7 +4957,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create domain from %s"
#: src/remote/remote_driver.c:328
diff --git a/po/kn.po b/po/kn.po
index b2b69c2..c46c31f 100644
--- a/po/kn.po
+++ b/po/kn.po
@@ -4754,7 +4754,7 @@ msgstr "ಸಂರಚನಾ ಕಡತದ ಹ್ಯಾಂಡಲ್ ಅನ್ನ
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "'%s' ನೊಂದಿಗೆ ಜಾಲಬಂಧ ಬ್ಯಾಕೆಂಡ್ ಅನ್ನು ತೆಗೆದುಹಾಕುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ\n"
#: src/remote/remote_driver.c:328
diff --git a/po/ko.po b/po/ko.po
index 430bfbf..45fed98 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -4872,7 +4872,7 @@ msgstr "%s 설정 파일 읽기 실패"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "%s에서 네트워크 생성하기 실패"
#: src/remote/remote_driver.c:328
diff --git a/po/ku.po b/po/ku.po
index c64deda..c4711be 100644
--- a/po/ku.po
+++ b/po/ku.po
@@ -4957,7 +4957,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create domain from %s"
#: src/remote/remote_driver.c:328
diff --git a/po/lo.po b/po/lo.po
index c64deda..c4711be 100644
--- a/po/lo.po
+++ b/po/lo.po
@@ -4957,7 +4957,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create domain from %s"
#: src/remote/remote_driver.c:328
diff --git a/po/lt.po b/po/lt.po
index c64deda..c4711be 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -4957,7 +4957,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create domain from %s"
#: src/remote/remote_driver.c:328
diff --git a/po/lv.po b/po/lv.po
index c64deda..c4711be 100644
--- a/po/lv.po
+++ b/po/lv.po
@@ -4957,7 +4957,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create domain from %s"
#: src/remote/remote_driver.c:328
diff --git a/po/mk.po b/po/mk.po
index 1f46c6e..ec6c8c8 100644
--- a/po/mk.po
+++ b/po/mk.po
@@ -4931,7 +4931,7 @@ msgstr "не успеав да ја прочитам конфиг. датоте
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Не успеав да ја креирам мрежата од %s"
#: src/remote/remote_driver.c:328
diff --git a/po/ml.po b/po/ml.po
index 901fec6..7db8686 100644
--- a/po/ml.po
+++ b/po/ml.po
@@ -4737,7 +4737,7 @@ msgstr "കോണ്ഫിഗ് ഫയല് ഹാഡില് സൂ
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "'%s'-നൊപ്പം നെറ്റ്വര്ക്ക് ബാക്കെന്ഡ് നീക്കം ചെയ്യുന്നതില് പരാജയം\n"
#: src/remote/remote_driver.c:328
diff --git a/po/mr.po b/po/mr.po
index d7fab05..25fbb3b 100644
--- a/po/mr.po
+++ b/po/mr.po
@@ -4726,7 +4726,7 @@ msgstr "संयोजना फाइल हॅन्डल् साठवण
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "'%s' सह नेटवर्क बॅकएंड काढून टाकण्यास अपयशी\n"
#: src/remote/remote_driver.c:328
diff --git a/po/ms.po b/po/ms.po
index ea33fd8..1f34704 100644
--- a/po/ms.po
+++ b/po/ms.po
@@ -4928,7 +4928,7 @@ msgstr "tidak dapat membaca fail tetapan `%s': %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Gagal untuk memuatkan cakera pemandu daripada fail."
#: src/remote/remote_driver.c:328
diff --git a/po/my.po b/po/my.po
index c64deda..c4711be 100644
--- a/po/my.po
+++ b/po/my.po
@@ -4957,7 +4957,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create domain from %s"
#: src/remote/remote_driver.c:328
diff --git a/po/nb.po b/po/nb.po
index ba4bc5d..b3109c9 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -4905,7 +4905,7 @@ msgstr "feil ved lesing av konfigurasjonsfil %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Kunne ikke opprette domenet fra %s"
#: src/remote/remote_driver.c:328
diff --git a/po/nl.po b/po/nl.po
index b2e006f..fa5721d 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -4841,7 +4841,7 @@ msgstr ""
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "openen van bestand is mislukt"
#: src/remote/remote_driver.c:328
diff --git a/po/nn.po b/po/nn.po
index c64deda..c4711be 100644
--- a/po/nn.po
+++ b/po/nn.po
@@ -4957,7 +4957,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create domain from %s"
#: src/remote/remote_driver.c:328
diff --git a/po/nso.po b/po/nso.po
index c64deda..c4711be 100644
--- a/po/nso.po
+++ b/po/nso.po
@@ -4957,7 +4957,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create domain from %s"
#: src/remote/remote_driver.c:328
diff --git a/po/or.po b/po/or.po
index ce1b48d..1612351 100644
--- a/po/or.po
+++ b/po/or.po
@@ -4751,7 +4751,7 @@ msgstr "ବିନ୍ଯାସ ଫାଇଲ ନିୟନ୍ତ୍ରକକୁ ସ
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "'%s' ସହିତ ନେଟୱାର୍କ ପୃଷ୍ଠଭୂମିକୁ କାଢ଼ିବାରେ ବିଫଳ\n"
#: src/remote/remote_driver.c:328
diff --git a/po/pa.po b/po/pa.po
index f45797a..a298f3b 100644
--- a/po/pa.po
+++ b/po/pa.po
@@ -4726,7 +4726,7 @@ msgstr "ਸੰਰਚਨਾ ਫਾਇਲ ਹੈਂਡਲ ਸੰਭਾਲਣ ਲ
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "ਨੈੱਟਵਰਕ ਬੈਕਐਂਡ ਨੂੰ '%s' ਨਾਲ ਹਟਾਉਣ ਤੋਂ ਫੇਲ\n"
#: src/remote/remote_driver.c:328
diff --git a/po/pl.po b/po/pl.po
index 62176cc..3b09e0d 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -4794,7 +4794,7 @@ msgstr "nie można przechować obsługi pliku konfiguracji"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Usunięcie zaplecza sieciowego za pomocą \"%s\" nie powiodło się\n"
#: src/remote/remote_driver.c:328
diff --git a/po/pt.po b/po/pt.po
index a6ff159..80d7a71 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -4931,7 +4931,7 @@ msgstr "não foi possível ler o ficheiro de configuração %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Não foi possível criar a rede a partir do %s"
#: src/remote/remote_driver.c:328
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 70b6ea2..957d8e9 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -4876,7 +4876,7 @@ msgstr "não foi possível armazenar o identificador do arquivo de configuraçã
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Falha ao criar uma rede a partir de %s"
#: src/remote/remote_driver.c:328
diff --git a/po/ro.po b/po/ro.po
index c64deda..c4711be 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -4957,7 +4957,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create domain from %s"
#: src/remote/remote_driver.c:328
diff --git a/po/ru.po b/po/ru.po
index ebf74d8..9458fcc 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -4893,7 +4893,7 @@ msgstr "ошибка чтения файла конфигурации %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Ошибка создания сети из %s"
#: src/remote/remote_driver.c:328
diff --git a/po/si.po b/po/si.po
index c64deda..c4711be 100644
--- a/po/si.po
+++ b/po/si.po
@@ -4957,7 +4957,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create domain from %s"
#: src/remote/remote_driver.c:328
diff --git a/po/sk.po b/po/sk.po
index c64deda..c4711be 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -4957,7 +4957,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create domain from %s"
#: src/remote/remote_driver.c:328
diff --git a/po/sl.po b/po/sl.po
index c64deda..c4711be 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -4957,7 +4957,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create domain from %s"
#: src/remote/remote_driver.c:328
diff --git a/po/sq.po b/po/sq.po
index c64deda..c4711be 100644
--- a/po/sq.po
+++ b/po/sq.po
@@ -4957,7 +4957,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create domain from %s"
#: src/remote/remote_driver.c:328
diff --git a/po/sr.po b/po/sr.po
index 1b7a52c..ff21548 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -4954,7 +4954,7 @@ msgstr "неуспело руковање складиштењем датоте
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Неуспело прављење мреже из %s"
#: src/remote/remote_driver.c:328
diff --git a/po/sr(a)latin.po b/po/sr(a)latin.po
index 66f7852..e786da9 100644
--- a/po/sr(a)latin.po
+++ b/po/sr(a)latin.po
@@ -4963,7 +4963,7 @@ msgstr "neuspelo rukovanje skladištenjem datoteke podešavanja"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Neuspelo pravljenje mreže iz %s"
#: src/remote/remote_driver.c:328
diff --git a/po/sv.po b/po/sv.po
index 7556a3a..4e87fb6 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -4930,7 +4930,7 @@ msgstr "kunde inte läsa konfigurationsfilen %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Misslyckades att skapa nätverk från %s"
#: src/remote/remote_driver.c:328
diff --git a/po/ta.po b/po/ta.po
index 70c78d6..ce08280 100644
--- a/po/ta.po
+++ b/po/ta.po
@@ -4783,7 +4783,7 @@ msgstr "கட்டமைப்பு கோப்பு கையாளுத
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "'%s' லிருந்து பிணைய பின்முனையை நீக்க முடியவில்லை\n"
#: src/remote/remote_driver.c:328
diff --git a/po/te.po b/po/te.po
index b0448d2..4f2c5d6 100644
--- a/po/te.po
+++ b/po/te.po
@@ -4729,7 +4729,7 @@ msgstr "ఆకృతీకరణ ఫైలు సంభాలికను ని
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "నెట్వర్కు బ్యాకెండ్ను '%s'తో తీసివేయుటలో విఫలమైంది\n"
#: src/remote/remote_driver.c:328
diff --git a/po/th.po b/po/th.po
index c64deda..c4711be 100644
--- a/po/th.po
+++ b/po/th.po
@@ -4957,7 +4957,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create domain from %s"
#: src/remote/remote_driver.c:328
diff --git a/po/tr.po b/po/tr.po
index c64deda..c4711be 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -4957,7 +4957,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create domain from %s"
#: src/remote/remote_driver.c:328
diff --git a/po/uk.po b/po/uk.po
index 1f5af50..1278153 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -4929,7 +4929,7 @@ msgstr "помилка читання конфігураційного файл
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Помилка створення мережі з %s"
#: src/remote/remote_driver.c:328
diff --git a/po/ur.po b/po/ur.po
index c64deda..c4711be 100644
--- a/po/ur.po
+++ b/po/ur.po
@@ -4957,7 +4957,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create domain from %s"
#: src/remote/remote_driver.c:328
diff --git a/po/vi.po b/po/vi.po
index c64deda..c4711be 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -4957,7 +4957,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create domain from %s"
#: src/remote/remote_driver.c:328
diff --git a/po/zh_CN.po b/po/zh_CN.po
index f080362..2b45692 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -4784,7 +4784,7 @@ msgstr "无法保存配置文件软件"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "从 %s 创建网络失败"
#: src/remote/remote_driver.c:328
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 04276f0..a2e513f 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -4927,7 +4927,7 @@ msgstr "無法讀取設定檔 %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "無法從 %s 建立網路"
#: src/remote/remote_driver.c:328
diff --git a/po/zu.po b/po/zu.po
index c64deda..c4711be 100644
--- a/po/zu.po
+++ b/po/zu.po
@@ -4957,7 +4957,7 @@ msgstr "failed to read configuration file %s"
#: src/qemu/qemu_monitor_text.c:1828
#, fuzzy, c-format
-msgid "failed to remove host metnwork in qemu with '%s'"
+msgid "failed to remove host network in qemu with '%s'"
msgstr "Failed to create domain from %s"
#: src/remote/remote_driver.c:328
diff --git a/src/qemu/qemu_monitor_text.c b/src/qemu/qemu_monitor_text.c
index ee234a1..d39a417 100644
--- a/src/qemu/qemu_monitor_text.c
+++ b/src/qemu/qemu_monitor_text.c
@@ -1635,7 +1635,7 @@ int qemuMonitorTextRemoveHostNetwork(qemuMonitorPtr mon,
if (qemuMonitorCommand(mon, cmd, &reply) < 0) {
qemudReportError(NULL, NULL, NULL, VIR_ERR_OPERATION_FAILED,
- _("failed to remove host metnwork in qemu with '%s'"), cmd);
+ _("failed to remove host network in qemu with '%s'"), cmd);
goto cleanup;
}
--
1.6.2.5
14 years, 11 months
[libvirt] [PATCH] Make QEMU driver use -chardev everywhere when it's available
by Matthew Booth
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 | 102 +++++++++++++++++---
.../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, 440 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 c807688..4f4b3db 100644
--- a/src/qemu/qemu_conf.c
+++ b/src/qemu/qemu_conf.c
@@ -1844,12 +1844,36 @@ 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) {
+ char id[16];
+
+ if (snprintf(id, sizeof(id), "monitor%i", i) > sizeof(id))
+ goto error;
- ADD_ARG_LIT("-monitor");
- ADD_ARG(virBufferContentAndReset(&buf));
+ qemudBuildCommandLineChrDevChardevStr(monitor_chr, id, &buf);
+ if (virBufferError(&buf))
+ goto error;
+
+ ADD_ARG_LIT("-chardev");
+ ADD_ARG(virBufferContentAndReset(&buf));
+
+ virBufferVSprintf(&buf, "chardev:%s", id);
+ if (virBufferError(&buf))
+ goto error;
+
+ ADD_ARG_LIT("-monitor");
+ ADD_ARG(virBufferContentAndReset(&buf));
+ }
+
+ else {
+ qemudBuildCommandLineChrDevStr(monitor_chr, &buf);
+ if (virBufferError(&buf))
+ goto error;
+
+ ADD_ARG_LIT("-monitor");
+ ADD_ARG(virBufferContentAndReset(&buf));
+ }
}
if (def->localtime)
@@ -2132,12 +2156,36 @@ int qemudBuildCommandLine(virConnectPtr conn,
virBuffer buf = VIR_BUFFER_INITIALIZER;
virDomainChrDefPtr serial = def->serials[i];
- qemudBuildCommandLineChrDevStr(serial, &buf);
- if (virBufferError(&buf))
- goto error;
+ /* Use -chardev if it's available */
+ if (qemuCmdFlags & QEMUD_CMD_FLAG_CHARDEV) {
+ char id[16];
- ADD_ARG_LIT("-serial");
- ADD_ARG(virBufferContentAndReset(&buf));
+ if (snprintf(id, sizeof(id), "serial%i", i) > sizeof(id))
+ goto error;
+
+ qemudBuildCommandLineChrDevChardevStr(serial, id, &buf);
+ if (virBufferError(&buf))
+ goto error;
+
+ ADD_ARG_LIT("-chardev");
+ ADD_ARG(virBufferContentAndReset(&buf));
+
+ virBufferVSprintf(&buf, "chardev:%s", id);
+ if (virBufferError(&buf))
+ goto error;
+
+ ADD_ARG_LIT("-serial");
+ ADD_ARG(virBufferContentAndReset(&buf));
+ }
+
+ else {
+ qemudBuildCommandLineChrDevStr(serial, &buf);
+ if (virBufferError(&buf))
+ goto error;
+
+ ADD_ARG_LIT("-serial");
+ ADD_ARG(virBufferContentAndReset(&buf));
+ }
}
}
@@ -2149,12 +2197,36 @@ int qemudBuildCommandLine(virConnectPtr conn,
virBuffer buf = VIR_BUFFER_INITIALIZER;
virDomainChrDefPtr parallel = def->parallels[i];
- qemudBuildCommandLineChrDevStr(parallel, &buf);
- if (virBufferError(&buf))
- goto error;
+ /* Use -chardev if it's available */
+ if (qemuCmdFlags & QEMUD_CMD_FLAG_CHARDEV) {
+ char id[16];
- ADD_ARG_LIT("-parallel");
- ADD_ARG(virBufferContentAndReset(&buf));
+ if (snprintf(id, sizeof(id), "parallel%i", i) > sizeof(id))
+ goto error;
+
+ qemudBuildCommandLineChrDevChardevStr(parallel, id, &buf);
+ if (virBufferError(&buf))
+ goto error;
+
+ ADD_ARG_LIT("-chardev");
+ ADD_ARG(virBufferContentAndReset(&buf));
+
+ virBufferVSprintf(&buf, "chardev:%s", id);
+ if (virBufferError(&buf))
+ goto error;
+
+ ADD_ARG_LIT("-parallel");
+ ADD_ARG(virBufferContentAndReset(&buf));
+ }
+
+ else {
+ qemudBuildCommandLineChrDevStr(parallel, &buf);
+ if (virBufferError(&buf))
+ goto error;
+
+ ADD_ARG_LIT("-parallel");
+ ADD_ARG(virBufferContentAndReset(&buf));
+ }
}
}
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-channel-guestfwd.args b/tests/qemuxml2argvdata/qemuxml2argv-channel-guestfwd.args
index b5bb46d..f3b0c30 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-channel-guestfwd.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-channel-guestfwd.args
@@ -1 +1 @@
-LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor unix:/tmp/test-monitor,server,nowait -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -chardev pipe,id=channel0,path=/tmp/guestfwd -net user,guestfwd=tcp:10.0.2.1:4600-chardev:channel0 -usb
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -chardev socket,id=monitor0,path=/tmp/test-monitor,server,nowait -monitor chardev:monitor0 -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -chardev pipe,id=channel0,path=/tmp/guestfwd -net user,guestfwd=tcp:10.0.2.1:4600-chardev:channel0 -usb
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-console-compat-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-console-compat-chardev.args
new file mode 100644
index 0000000..1237250
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-console-compat-chardev.args
@@ -0,0 +1 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -chardev socket,id=monitor0,path=/tmp/test-monitor,server,nowait -monitor chardev:monitor0 -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -chardev pty,id=serial0 -serial chardev:serial0 -parallel none -usb
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-console-compat-chardev.xml b/tests/qemuxml2argvdata/qemuxml2argv-console-compat-chardev.xml
new file mode 100644
index 0000000..c16ae07
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-console-compat-chardev.xml
@@ -0,0 +1,28 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory>219200</memory>
+ <currentMemory>219200</currentMemory>
+ <vcpu>1</vcpu>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu</emulator>
+ <disk type='block' device='disk'>
+ <source dev='/dev/HostVG/QEMUGuest1'/>
+ <target dev='hda' bus='ide'/>
+ </disk>
+ <serial type='pty'>
+ <target port='0'/>
+ </serial>
+ <console type='pty'>
+ <target port='0'/>
+ </console>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-parallel-tcp-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-parallel-tcp-chardev.args
new file mode 100644
index 0000000..65783fb
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-parallel-tcp-chardev.args
@@ -0,0 +1 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -chardev socket,id=monitor0,path=/tmp/test-monitor,server,nowait -monitor chardev:monitor0 -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -chardev socket,id=parallel0,host=127.0.0.1,port=9999,server,nowait -parallel chardev:parallel0 -usb
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-parallel-tcp-chardev.xml b/tests/qemuxml2argvdata/qemuxml2argv-parallel-tcp-chardev.xml
new file mode 100644
index 0000000..08176f1
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-parallel-tcp-chardev.xml
@@ -0,0 +1,27 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory>219200</memory>
+ <currentMemory>219200</currentMemory>
+ <vcpu>1</vcpu>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu</emulator>
+ <disk type='block' device='disk'>
+ <source dev='/dev/HostVG/QEMUGuest1'/>
+ <target dev='hda' bus='ide'/>
+ </disk>
+ <parallel type='tcp'>
+ <source mode='bind' host='127.0.0.1' service='9999'/>
+ <protocol type='raw'/>
+ <target port='0'/>
+ </parallel>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-dev-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-dev-chardev.args
new file mode 100644
index 0000000..7ecb3e8
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-dev-chardev.args
@@ -0,0 +1 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -chardev socket,id=monitor0,path=/tmp/test-monitor,server,nowait -monitor chardev:monitor0 -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -chardev tty,id=serial0,path=/dev/ttyS2 -serial chardev:serial0 -parallel none -usb
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-dev-chardev.xml b/tests/qemuxml2argvdata/qemuxml2argv-serial-dev-chardev.xml
new file mode 100644
index 0000000..2b8ef5a
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-dev-chardev.xml
@@ -0,0 +1,30 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory>219200</memory>
+ <currentMemory>219200</currentMemory>
+ <vcpu>1</vcpu>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu</emulator>
+ <disk type='block' device='disk'>
+ <source dev='/dev/HostVG/QEMUGuest1'/>
+ <target dev='hda' bus='ide'/>
+ </disk>
+ <serial type='dev'>
+ <source path='/dev/ttyS2'/>
+ <target port='0'/>
+ </serial>
+ <console type='dev'>
+ <source path='/dev/ttyS2'/>
+ <target port='0'/>
+ </console>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-file-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-file-chardev.args
new file mode 100644
index 0000000..fd3cc4e
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-file-chardev.args
@@ -0,0 +1 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -chardev socket,id=monitor0,path=/tmp/test-monitor,server,nowait -monitor chardev:monitor0 -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -chardev file,id=serial0,path=/tmp/serial.log -serial chardev:serial0 -parallel none -usb
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-file-chardev.xml b/tests/qemuxml2argvdata/qemuxml2argv-serial-file-chardev.xml
new file mode 100644
index 0000000..3726816
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-file-chardev.xml
@@ -0,0 +1,30 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory>219200</memory>
+ <currentMemory>219200</currentMemory>
+ <vcpu>1</vcpu>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu</emulator>
+ <disk type='block' device='disk'>
+ <source dev='/dev/HostVG/QEMUGuest1'/>
+ <target dev='hda' bus='ide'/>
+ </disk>
+ <serial type='file'>
+ <source path='/tmp/serial.log'/>
+ <target port='0'/>
+ </serial>
+ <console type='file'>
+ <source path='/tmp/serial.log'/>
+ <target port='0'/>
+ </console>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-many-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-many-chardev.args
new file mode 100644
index 0000000..46113fc
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-many-chardev.args
@@ -0,0 +1 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -chardev socket,id=monitor0,path=/tmp/test-monitor,server,nowait -monitor chardev:monitor0 -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -chardev pty,id=serial0 -serial chardev:serial0 -chardev file,id=serial1,path=/tmp/serial.log -serial chardev:serial1 -parallel none -usb
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-many-chardev.xml b/tests/qemuxml2argvdata/qemuxml2argv-serial-many-chardev.xml
new file mode 100644
index 0000000..444e85b
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-many-chardev.xml
@@ -0,0 +1,32 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory>219200</memory>
+ <currentMemory>219200</currentMemory>
+ <vcpu>1</vcpu>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu</emulator>
+ <disk type='block' device='disk'>
+ <source dev='/dev/HostVG/QEMUGuest1'/>
+ <target dev='hda' bus='ide'/>
+ </disk>
+ <serial type='pty'>
+ <target port='0'/>
+ </serial>
+ <serial type='file'>
+ <source path='/tmp/serial.log'/>
+ <target port='1'/>
+ </serial>
+ <console type='pty'>
+ <target port='0'/>
+ </console>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-pty-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-pty-chardev.args
new file mode 100644
index 0000000..1237250
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-pty-chardev.args
@@ -0,0 +1 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -chardev socket,id=monitor0,path=/tmp/test-monitor,server,nowait -monitor chardev:monitor0 -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -chardev pty,id=serial0 -serial chardev:serial0 -parallel none -usb
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-pty-chardev.xml b/tests/qemuxml2argvdata/qemuxml2argv-serial-pty-chardev.xml
new file mode 100644
index 0000000..c16ae07
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-pty-chardev.xml
@@ -0,0 +1,28 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory>219200</memory>
+ <currentMemory>219200</currentMemory>
+ <vcpu>1</vcpu>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu</emulator>
+ <disk type='block' device='disk'>
+ <source dev='/dev/HostVG/QEMUGuest1'/>
+ <target dev='hda' bus='ide'/>
+ </disk>
+ <serial type='pty'>
+ <target port='0'/>
+ </serial>
+ <console type='pty'>
+ <target port='0'/>
+ </console>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-chardev.args
new file mode 100644
index 0000000..6255103
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-chardev.args
@@ -0,0 +1 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -chardev socket,id=monitor0,path=/tmp/test-monitor,server,nowait -monitor chardev:monitor0 -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -chardev socket,id=serial0,host=127.0.0.1,port=9999 -serial chardev:serial0 -parallel none -usb
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-chardev.xml b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-chardev.xml
new file mode 100644
index 0000000..3bcf62d
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-chardev.xml
@@ -0,0 +1,32 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory>219200</memory>
+ <currentMemory>219200</currentMemory>
+ <vcpu>1</vcpu>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu</emulator>
+ <disk type='block' device='disk'>
+ <source dev='/dev/HostVG/QEMUGuest1'/>
+ <target dev='hda' bus='ide'/>
+ </disk>
+ <serial type='tcp'>
+ <source mode='connect' host='127.0.0.1' service='9999'/>
+ <protocol type='raw'/>
+ <target port='0'/>
+ </serial>
+ <console type='tcp'>
+ <source mode='connect' host='127.0.0.1' service='9999'/>
+ <protocol type='raw'/>
+ <target port='0'/>
+ </console>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-telnet-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-telnet-chardev.args
new file mode 100644
index 0000000..c807e64
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-telnet-chardev.args
@@ -0,0 +1 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -chardev socket,id=monitor0,path=/tmp/test-monitor,server,nowait -monitor chardev:monitor0 -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -chardev socket,id=serial0,host=127.0.0.1,port=9999,telnet,server,nowait -serial chardev:serial0 -parallel none -usb
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-telnet-chardev.xml b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-telnet-chardev.xml
new file mode 100644
index 0000000..bea4306
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-telnet-chardev.xml
@@ -0,0 +1,32 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory>219200</memory>
+ <currentMemory>219200</currentMemory>
+ <vcpu>1</vcpu>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu</emulator>
+ <disk type='block' device='disk'>
+ <source dev='/dev/HostVG/QEMUGuest1'/>
+ <target dev='hda' bus='ide'/>
+ </disk>
+ <serial type='tcp'>
+ <source mode='bind' host='127.0.0.1' service='9999'/>
+ <protocol type='telnet'/>
+ <target port='0'/>
+ </serial>
+ <console type='tcp'>
+ <source mode='bind' host='127.0.0.1' service='9999'/>
+ <protocol type='telnet'/>
+ <target port='0'/>
+ </console>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-udp-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-udp-chardev.args
new file mode 100644
index 0000000..088c461
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-udp-chardev.args
@@ -0,0 +1 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -chardev socket,id=monitor0,path=/tmp/test-monitor,server,nowait -monitor chardev:monitor0 -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -chardev udp,id=serial0,host=127.0.0.1,port=9998,localaddr=127.0.0.1,localport=9999 -serial chardev:serial0 -parallel none -usb
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-udp-chardev.xml b/tests/qemuxml2argvdata/qemuxml2argv-serial-udp-chardev.xml
new file mode 100644
index 0000000..115166d
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-udp-chardev.xml
@@ -0,0 +1,32 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory>219200</memory>
+ <currentMemory>219200</currentMemory>
+ <vcpu>1</vcpu>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu</emulator>
+ <disk type='block' device='disk'>
+ <source dev='/dev/HostVG/QEMUGuest1'/>
+ <target dev='hda' bus='ide'/>
+ </disk>
+ <serial type='udp'>
+ <source mode='bind' host='127.0.0.1' service='9999'/>
+ <source mode='connect' host='127.0.0.1' service='9998'/>
+ <target port='0'/>
+ </serial>
+ <console type='udp'>
+ <source mode='bind' host='127.0.0.1' service='9999'/>
+ <source mode='connect' host='127.0.0.1' service='9998'/>
+ <target port='0'/>
+ </console>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-unix-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-unix-chardev.args
new file mode 100644
index 0000000..92a7efc
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-unix-chardev.args
@@ -0,0 +1 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -chardev socket,id=monitor0,path=/tmp/test-monitor,server,nowait -monitor chardev:monitor0 -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -chardev socket,id=serial0,path=/tmp/serial.sock -serial chardev:serial0 -parallel none -usb
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-unix-chardev.xml b/tests/qemuxml2argvdata/qemuxml2argv-serial-unix-chardev.xml
new file mode 100644
index 0000000..4236b4c
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-unix-chardev.xml
@@ -0,0 +1,30 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory>219200</memory>
+ <currentMemory>219200</currentMemory>
+ <vcpu>1</vcpu>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu</emulator>
+ <disk type='block' device='disk'>
+ <source dev='/dev/HostVG/QEMUGuest1'/>
+ <target dev='hda' bus='ide'/>
+ </disk>
+ <serial type='unix'>
+ <source mode='connect' path='/tmp/serial.sock'/>
+ <target port='0'/>
+ </serial>
+ <console type='unix'>
+ <source mode='connect' path='/tmp/serial.sock'/>
+ <target port='0'/>
+ </console>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-vc-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-vc-chardev.args
new file mode 100644
index 0000000..c427c0e
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-vc-chardev.args
@@ -0,0 +1 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -chardev socket,id=monitor0,path=/tmp/test-monitor,server,nowait -monitor chardev:monitor0 -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -chardev vc,id=serial0 -serial chardev:serial0 -parallel none -usb
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-vc-chardev.xml b/tests/qemuxml2argvdata/qemuxml2argv-serial-vc-chardev.xml
new file mode 100644
index 0000000..1e5de8f
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-vc-chardev.xml
@@ -0,0 +1,28 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory>219200</memory>
+ <currentMemory>219200</currentMemory>
+ <vcpu>1</vcpu>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu</emulator>
+ <disk type='block' device='disk'>
+ <source dev='/dev/HostVG/QEMUGuest1'/>
+ <target dev='hda' bus='ide'/>
+ </disk>
+ <serial type='vc'>
+ <target port='0'/>
+ </serial>
+ <console type='vc'>
+ <target port='0'/>
+ </console>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index c948379..da6b761 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -269,6 +269,18 @@ mymain(int argc, char **argv)
DO_TEST("parallel-tcp", 0);
DO_TEST("console-compat", 0);
+ DO_TEST("serial-vc-chardev", QEMUD_CMD_FLAG_CHARDEV);
+ DO_TEST("serial-pty-chardev", QEMUD_CMD_FLAG_CHARDEV);
+ DO_TEST("serial-dev-chardev", QEMUD_CMD_FLAG_CHARDEV);
+ DO_TEST("serial-file-chardev", QEMUD_CMD_FLAG_CHARDEV);
+ DO_TEST("serial-unix-chardev", QEMUD_CMD_FLAG_CHARDEV);
+ DO_TEST("serial-tcp-chardev", QEMUD_CMD_FLAG_CHARDEV);
+ DO_TEST("serial-udp-chardev", QEMUD_CMD_FLAG_CHARDEV);
+ DO_TEST("serial-tcp-telnet-chardev", QEMUD_CMD_FLAG_CHARDEV);
+ DO_TEST("serial-many-chardev", QEMUD_CMD_FLAG_CHARDEV);
+ DO_TEST("parallel-tcp-chardev", QEMUD_CMD_FLAG_CHARDEV);
+ DO_TEST("console-compat-chardev", QEMUD_CMD_FLAG_CHARDEV);
+
DO_TEST("channel-guestfwd", QEMUD_CMD_FLAG_CHARDEV);
DO_TEST("sound", 0);
--
1.6.2.5
14 years, 11 months