[libvirt] [PATCH v6] bhyve: implement PCI address allocation
by Roman Bogorodskiy
Changes from v4:
- Qemu-related part of sharing the common code is complete and
pushed, so patch lives on its own now
- virBhyveProcessBuildBhyveCmd() modified to loop over disks and nets
and call bhyveBuildDiskArgStr() and bhyveBuildNetArgStr() for an
individual device to make the latter more readable
- Fix double assing / double semicolon typo
- Fix spelling in virReportError() for disks
- Make bhyveAssignDevicePCISlots() assign nets before disks to reproduce
the old behaviour when one net and one disk were supported
- Make persistentAddrs of _bhyveDomainObjPrivate bool.
Changes from v5:
- Call bhyveDomainAssignAddresses() in virBhyveProcessStart() in order
not to break domains defined in the earlier versions of libvirtd that
did no address assignment
- Call bhyveDomainAssignAddresses() in bhyveDomainCreateXML()
Roman Bogorodskiy (1):
bhyve: implement PCI address allocation
po/POTFILES.in | 1 +
src/Makefile.am | 4 +
src/bhyve/bhyve_command.c | 112 +++++++------
src/bhyve/bhyve_device.c | 174 +++++++++++++++++++++
src/bhyve/bhyve_device.h | 38 +++++
src/bhyve/bhyve_domain.c | 75 +++++++++
src/bhyve/bhyve_domain.h | 39 +++++
src/bhyve/bhyve_driver.c | 12 +-
.../bhyvexml2argvdata/bhyvexml2argv-acpiapic.args | 2 +-
tests/bhyvexml2argvdata/bhyvexml2argv-acpiapic.xml | 2 +
tests/bhyvexml2argvdata/bhyvexml2argv-base.args | 2 +-
tests/bhyvexml2argvdata/bhyvexml2argv-base.xml | 2 +
tests/bhyvexml2argvdata/bhyvexml2argv-console.args | 4 +-
tests/bhyvexml2argvdata/bhyvexml2argv-console.xml | 2 +
.../bhyvexml2argv-disk-virtio.args | 2 +-
.../bhyvexml2argv-disk-virtio.xml | 2 +
tests/bhyvexml2argvdata/bhyvexml2argv-macaddr.args | 2 +-
tests/bhyvexml2argvdata/bhyvexml2argv-macaddr.xml | 2 +
tests/bhyvexml2argvdata/bhyvexml2argv-serial.args | 4 +-
tests/bhyvexml2argvdata/bhyvexml2argv-serial.xml | 2 +
20 files changed, 416 insertions(+), 67 deletions(-)
create mode 100644 src/bhyve/bhyve_device.c
create mode 100644 src/bhyve/bhyve_device.h
create mode 100644 src/bhyve/bhyve_domain.c
create mode 100644 src/bhyve/bhyve_domain.h
--
1.9.0
Roman Bogorodskiy (1):
bhyve: implement PCI address allocation
po/POTFILES.in | 1 +
src/Makefile.am | 4 +
src/bhyve/bhyve_command.c | 112 +++++++------
src/bhyve/bhyve_device.c | 174 +++++++++++++++++++++
src/bhyve/bhyve_device.h | 38 +++++
src/bhyve/bhyve_domain.c | 75 +++++++++
src/bhyve/bhyve_domain.h | 39 +++++
src/bhyve/bhyve_driver.c | 15 +-
src/bhyve/bhyve_process.c | 4 +
.../bhyvexml2argvdata/bhyvexml2argv-acpiapic.args | 2 +-
tests/bhyvexml2argvdata/bhyvexml2argv-acpiapic.xml | 2 +
tests/bhyvexml2argvdata/bhyvexml2argv-base.args | 2 +-
tests/bhyvexml2argvdata/bhyvexml2argv-base.xml | 2 +
tests/bhyvexml2argvdata/bhyvexml2argv-console.args | 4 +-
tests/bhyvexml2argvdata/bhyvexml2argv-console.xml | 2 +
.../bhyvexml2argv-disk-virtio.args | 2 +-
.../bhyvexml2argv-disk-virtio.xml | 2 +
tests/bhyvexml2argvdata/bhyvexml2argv-macaddr.args | 2 +-
tests/bhyvexml2argvdata/bhyvexml2argv-macaddr.xml | 2 +
tests/bhyvexml2argvdata/bhyvexml2argv-serial.args | 4 +-
tests/bhyvexml2argvdata/bhyvexml2argv-serial.xml | 2 +
21 files changed, 423 insertions(+), 67 deletions(-)
create mode 100644 src/bhyve/bhyve_device.c
create mode 100644 src/bhyve/bhyve_device.h
create mode 100644 src/bhyve/bhyve_domain.c
create mode 100644 src/bhyve/bhyve_domain.h
--
1.9.0
10 years, 5 months
[libvirt] [RFC PATCH 0/5] Refactor storage file metadata operations when dealing with snapshots.
by Peter Krempa
Now that we track storage source as a pointer we might use this.
Note that this is currently work in progress as I've didn't check all code paths and whether it's safe to modify the backing chains as I did.
Peter Krempa (5):
storage: encryption: Add deep copy function for storage encryption
util: seclabel: Add deep copy function for device labels
util: storagefile: Introduce helper to free storage source perms
util: storagefile: Add deep copy for struct virStorageSource
qemu: snapshot: Improve approach to deal with snapshot metadata
src/libvirt_private.syms | 1 +
src/qemu/qemu_driver.c | 108 +++++---------------------
src/util/virseclabel.c | 22 ++++++
src/util/virseclabel.h | 5 +-
src/util/virstorageencryption.c | 39 ++++++++++
src/util/virstorageencryption.h | 2 +
src/util/virstoragefile.c | 166 +++++++++++++++++++++++++++++++++++++++-
src/util/virstoragefile.h | 2 +
8 files changed, 251 insertions(+), 94 deletions(-)
--
1.9.3
10 years, 5 months
[libvirt] [PATCH] virNetDevGetLinkInfo: Don't report link speed if NIC's not up
by Michal Privoznik
The kernel's more broken than one would think. Various drivers report
various (usually spurious) values if the interface is in other state
than 'up' . While on some we experience -EINVAL when read()-ing the
speed sysfs file, with other drivers we might get anything from 0 to
UINT_MAX. If that's the case it's better to not report link speed.
Well, the interface is not up anyway.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/util/virnetdev.c | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/src/util/virnetdev.c b/src/util/virnetdev.c
index 6f3a202..a551f98 100644
--- a/src/util/virnetdev.c
+++ b/src/util/virnetdev.c
@@ -1875,6 +1875,16 @@ virNetDevGetLinkInfo(const char *ifname,
lnk->state = tmp_state;
+ /* Shortcut to avoid some kernel issues. If link is not up several drivers
+ * report several misleading values. While igb reports 65535, realtek goes
+ * with 10. To avoid muddying XML with insane values, don't report link
+ * speed if that's the case. */
+ if (lnk->state != VIR_INTERFACE_STATE_UP) {
+ lnk->speed = 0;
+ ret = 0;
+ goto cleanup;
+ }
+
VIR_FREE(path);
VIR_FREE(buf);
@@ -1901,11 +1911,7 @@ virNetDevGetLinkInfo(const char *ifname,
goto cleanup;
}
- /* Workaround broken kernel API. If the link is unplugged then
- * depending on the NIC driver, link speed can be reported as -1.
- * However, the value is printed out as unsigned integer instead of
- * signed one. Terrifying but true. */
- lnk->speed = (int) tmp_speed == -1 ? 0 : tmp_speed;
+ lnk->speed = tmp_speed;
ret = 0;
cleanup:
--
1.8.5.5
10 years, 5 months
[libvirt] storage conf: Add key-value options to storage pools
by Wido den Hollander
This series of patches adds the ability to pass down options to the
storage pool drivers.
In the case of NFS users can specify mount options and in the case of
RBD users can specify options for librados to influence some behavior.
All options and values are checked on input validity to prevent injection
of malicious commands.
--
Wido den Hollander
10 years, 5 months
[libvirt] [PATCH] virNetDevGetLinkInfo: Don't report link speed if NIC's down
by Michal Privoznik
The kernel's more broken than one would think. Various drivers report
various (usually spurious) values if the interface is down. While on
some we experience -EINVAL when read()-ing the speed sysfs file, with
other drivers we might get anything from 0 to UINT_MAX. If that's the
case it's better to not report link speed. Well, the interface is down
anyway.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/util/virnetdev.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/src/util/virnetdev.c b/src/util/virnetdev.c
index 6f3a202..80ef572 100644
--- a/src/util/virnetdev.c
+++ b/src/util/virnetdev.c
@@ -1843,7 +1843,7 @@ virNetDevGetLinkInfo(const char *ifname,
char *buf = NULL;
char *tmp;
int tmp_state;
- unsigned int tmp_speed;
+ unsigned int tmp_speed; /* virInterfaceState */
if (virNetDevSysfsFile(&path, ifname, "operstate") < 0)
goto cleanup;
@@ -1875,6 +1875,16 @@ virNetDevGetLinkInfo(const char *ifname,
lnk->state = tmp_state;
+ /* Shortcut to avoid some kernel issues. If link is down (and possibly in
+ * other states too) several drivers report several values. While igb
+ * reports 65535, realtek goes with 10. To avoid muddying XML with insane
+ * values, don't report link speed */
+ if (lnk->state == VIR_INTERFACE_STATE_DOWN) {
+ lnk->speed = 0;
+ ret = 0;
+ goto cleanup;
+ }
+
VIR_FREE(path);
VIR_FREE(buf);
@@ -1884,6 +1894,7 @@ virNetDevGetLinkInfo(const char *ifname,
if (virFileReadAll(path, 1024, &buf) < 0) {
/* Some devices doesn't report speed, in which case we get EINVAL */
if (errno == EINVAL) {
+ lnk->speed = 0;
ret = 0;
goto cleanup;
}
--
1.8.5.5
10 years, 5 months
[libvirt] [PATCHv4 00/21] block pull/commit on gluster volumes with relative backing
by Peter Krempa
Peter Krempa (21):
security: Don't skip labelling for network disks
util: string: Add helper to free non-NULL terminated string arrays
util: storagefile: Introduce universal function to canonicalize paths
storage: gluster: Add backend to return unique storage file path
util: storage: Add helper to resolve relative path difference
tests: virstoragetest: Remove "expBackingStore" field
tests: virstoragetest: Fix output when hitting errors
storage: Store relative path only for relatively backed storage
tests: virstoragetest: Remove now unused pathAbs
util: storage: Remove now redundant backingRelative from
virStorageSource
tests: virstoragetest: Don't test relative start of backing chains
tests: virstoragetest: Remove unneeded relative test plumbing
storage: Don't canonicalize paths unnecessarily
storage: Don't store parent directory of an image explicitly
qemu: caps: Add capability for change-backing-file command
qemu: monitor: Add argument for specifying backing name for block
commit
qemu: monitor: Add support for backing name specification for
block-stream
lib: Introduce flag VIR_DOMAIN_BLOCK_COMMIT_RELATIVE
lib: Introduce flag VIR_DOMAIN_BLOCK_REBASE_RELATIVE
qemu: Add support for networked disks for block commit
qemu: Add support for networked disks for block pull/block rebase
include/libvirt/libvirt.h.in | 6 +
src/libvirt.c | 10 +
src/libvirt_private.syms | 3 +
src/qemu/qemu_capabilities.c | 2 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_driver.c | 85 ++++++-
src/qemu/qemu_migration.c | 6 +-
src/qemu/qemu_monitor.c | 21 +-
src/qemu/qemu_monitor.h | 4 +-
src/qemu/qemu_monitor_json.c | 17 ++
src/qemu/qemu_monitor_json.h | 2 +
src/security/security_dac.c | 3 -
src/security/security_selinux.c | 3 -
src/storage/storage_backend_gluster.c | 80 ++++++
src/storage/storage_driver.c | 15 +-
src/util/virstoragefile.c | 392 +++++++++++++++++++++++------
src/util/virstoragefile.h | 20 +-
src/util/virstring.c | 20 ++
src/util/virstring.h | 1 +
tests/qemumonitorjsontest.c | 2 +-
tests/virstoragetest.c | 450 +++++++++++++++++++++-------------
tools/virsh-domain.c | 29 ++-
tools/virsh.pod | 10 +-
23 files changed, 883 insertions(+), 299 deletions(-)
--
1.9.3
10 years, 5 months
[libvirt] [PATCH RFC 0/3] allow setting video ram size for graphics
by Wangrui (K)
https://bugzilla.redhat.com/show_bug.cgi?id=1076098
Zeng Junliang (3):
For vga/cirrus/vmvga/qxl device, qemu supports commandline
parameter "vgamem_mb" to specifie the size of the
framebuffer portion of the "ram" region. As the vram attribute
in libvirt is only valid for qxl device in KVM/QEMU to specifie the total
size of the "vram" region, we expect a new attribute in libvirt.
The following patches introduce "vgamem" attribute to make
vgamem_mb configurable in libvirt xml.
qemu: Introduce vgamem attribute for video model
tests: modify test case related to vgamem attribute
docs: add description for vgamem attribute
docs/formatdomain.html.in | 24 +++++--
docs/schemas/domaincommon.rng | 5 ++
src/conf/domain_conf.c | 44 +++++++++++-
src/conf/domain_conf.h | 3 +-
src/libvirt_private.syms | 1 +
src/qemu/qemu_command.c | 79 +++++++++++++++-------
.../domain-parallels-ct-simple.xml | 2 +-
.../domain-parallels-vm-simple.xml | 2 +-
...qemuhotplug-console-compat-2+console-virtio.xml | 2 +-
.../qemuxml2argv-console-compat-2.xml | 2 +-
.../qemuxml2argv-controller-order.xml | 2 +-
.../qemuxml2argv-graphics-listen-network.xml | 2 +-
.../qemuxml2argv-graphics-listen-network2.xml | 2 +-
.../qemuxml2argv-graphics-sdl-fullscreen.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-graphics-sdl.xml | 2 +-
...emuxml2argv-graphics-spice-agent-file-xfer.args | 5 +-
...qemuxml2argv-graphics-spice-agent-file-xfer.xml | 4 +-
.../qemuxml2argv-graphics-spice-agentmouse.xml | 2 +-
.../qemuxml2argv-graphics-spice-compression.args | 4 +-
.../qemuxml2argv-graphics-spice-compression.xml | 4 +-
.../qemuxml2argv-graphics-spice-listen-network.xml | 4 +-
.../qemuxml2argv-graphics-spice-qxl-vga.args | 3 +-
.../qemuxml2argv-graphics-spice-qxl-vga.xml | 4 +-
.../qemuxml2argv-graphics-spice-sasl.args | 3 +-
.../qemuxml2argv-graphics-spice-sasl.xml | 2 +-
.../qemuxml2argv-graphics-spice-timeout.xml | 2 +-
.../qemuxml2argv-graphics-spice.args | 5 +-
.../qemuxml2argv-graphics-spice.xml | 4 +-
.../qemuxml2argv-graphics-vnc-policy.xml | 2 +-
.../qemuxml2argv-graphics-vnc-sasl.xml | 2 +-
.../qemuxml2argv-graphics-vnc-socket.xml | 2 +-
.../qemuxml2argv-graphics-vnc-tls.xml | 2 +-
.../qemuxml2argv-graphics-vnc-websocket.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-graphics-vnc.xml | 2 +-
.../qemuxml2argv-net-bandwidth.xml | 2 +-
.../qemuxml2argv-pci-autoadd-addr.xml | 2 +-
.../qemuxml2argv-pci-autoadd-idx.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-pci-bridge.xml | 2 +-
.../qemuxml2argv-pcihole64-q35.args | 3 +-
.../qemuxml2argv-pcihole64-q35.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-pseries-disk.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-q35.args | 3 +-
tests/qemuxml2argvdata/qemuxml2argv-q35.xml | 2 +-
.../qemuxml2argv-serial-spiceport.args | 3 +-
.../qemuxml2argv-serial-spiceport.xml | 2 +-
.../qemuxml2argv-video-device-pciaddr-default.args | 9 ++-
.../qemuxml2argv-video-device-pciaddr-default.xml | 6 +-
.../qemuxml2xmlout-graphics-listen-network2.xml | 2 +-
.../qemuxml2xmlout-graphics-spice-timeout.xml | 2 +-
.../qemuxml2xmlout-pci-autoadd-addr.xml | 2 +-
.../qemuxml2xmlout-pci-autoadd-idx.xml | 2 +-
tests/qemuxml2xmloutdata/qemuxml2xmlout-q35.xml | 2 +-
tests/xml2vmxdata/xml2vmx-esx-in-the-wild-6.xml | 2 +-
tests/xml2vmxdata/xml2vmx-fusion-in-the-wild-1.xml | 2 +-
tests/xml2vmxdata/xml2vmx-svga.xml | 2 +-
tests/xml2vmxdata/xml2vmx-ws-in-the-wild-1.xml | 2 +-
tests/xml2vmxdata/xml2vmx-ws-in-the-wild-2.xml | 2 +-
57 files changed, 197 insertions(+), 95 deletions(-)
--
1.7.12.4
10 years, 5 months
[libvirt] [PATCH v2 0/4] Expose link state & speed
by Michal Privoznik
While the 1/4 was ACKed, I'm sending int for completeness. And I've made a tiny
change: the link speed is no longer unsigned long but unsigned int instead.
That'll do too and it consumes less memory.
Michal Privoznik (4):
virInterface: Expose link state & speed
virnetdev: Introduce virNetDevGetLinkInfo
interface_backend_udev: Implement link speed & state
node_device: Expose link state & speed
docs/formatnode.html.in | 6 ++
docs/schemas/basictypes.rng | 25 ++++++
docs/schemas/interface.rng | 1 +
docs/schemas/nodedev.rng | 1 +
src/Makefile.am | 4 +-
src/conf/device_conf.c | 62 ++++++++++++++
src/conf/device_conf.h | 27 +++++-
src/conf/interface_conf.c | 11 ++-
src/conf/interface_conf.h | 2 +
src/conf/node_device_conf.c | 7 +-
src/conf/node_device_conf.h | 2 +
src/interface/interface_backend_udev.c | 5 ++
src/libvirt_private.syms | 5 ++
src/node_device/node_device_driver.c | 11 ++-
src/node_device/node_device_udev.c | 5 ++
src/util/virnetdev.c | 104 ++++++++++++++++++++++++
src/util/virnetdev.h | 6 ++
tests/interfaceschemadata/bridge-no-address.xml | 1 +
tests/interfaceschemadata/bridge.xml | 1 +
tests/interfaceschemadata/ethernet-dhcp.xml | 1 +
20 files changed, 280 insertions(+), 7 deletions(-)
--
2.0.0
10 years, 5 months
Re: [libvirt] [PATCH] libxl: fix domxml-to-native wrong output for qcow2 format
by Bamvor Jian Zhang
>>>Jim Fehlig wrote:
> Bamvor Jian Zhang<bjzhang(a)suse.com> wrote:
>> e.g. for these following disk configuration in libvirt.
>> <disk type='file' device='disk'>
>
> For Xen, using <driver name='qemu' .../> (which means qdisk) is only
> supported by the libxl driver. The old xm/xend stack does not support qdisk.
>
>> <driver name='qemu' type='qcow2'/>
>> <source file='/var/lib/xen/images/001/disk0.qcow2'/>
>> <target dev='hdc'/>
>>
>> without this patch, it will be
>> "qemu:/var/lib/xen/images/001/disk0.qcow2,hdc,w"
>
> Yeah, that won't work with xend or libxl :) .
>
>> but it should be(if with this patch)
>> "qcow2:/var/lib/xen/images/001/disk0.qcow2,hdc,w"
>>
>> Signed-off-by: Bamvor Jian Zhang <bjzhang(a)suse.com>
>> ---
>> src/xenxs/xen_xm.c | 5 ++++-
>> 1 file changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/src/xenxs/xen_xm.c b/src/xenxs/xen_xm.c
>> index b2db97d..29835b4 100644
>> --- a/src/xenxs/xen_xm.c
>> +++ b/src/xenxs/xen_xm.c
>> @@ -1209,7 +1209,10 @@ xenFormatXMDisk(virConfValuePtr list,
>> type = "aio";
>> else
>> type = virStorageFileFormatTypeToString(format);
>> - virBufferAsprintf(&buf, "%s:", driver);
>> + if (!STREQ(type, "qcow2"))
>> + virBufferAsprintf(&buf, "%s:", driver);
>> + else
>> + virBufferAsprintf(&buf, "%s:", type);
>
> But this only handles the specific case of <driver name='qemu'
> type='qcow2'/>.
> With <driver name='qemu' type='raw'/>, I get
>
> "qemu:/path/to/disk,hdc,w"
>
> Unfortunately, this is a case where we are trying to use the xm config
> parser to parse something that is xl-specific. With <driver
> name='qemu'.../>,
> the corresponding xl disk config would look something like
>
> disk = ['backendtype=qdisk,/var/lib/xen/images/001/disk0.qcow2,hdc,w']
>
> With the type also specified, e.g. <driver name='qemu' type='qcow2'/>, the
> xl
> disk config would be
>
> disk =
> ['backendtype=qdisk,format=qcow2,/var/lib/xen/images/001/disk0.qcow2,hdc,w']
>
> As I see it, the options are
>
> 1. start working on a xen-xl parser
> 2. map 'qemu' to 'tap'
>
> We'll eventually need 1 anyhow. I haven't looked to see how much work that
> would be. Certainly a lot of the xm parsing code could be used since xm
> config is a subset of xl config.
understand. the main difference between xl and xm format is disk and network.
and it worth to do it.
>
> Option 2 is really a no-op in the libxl stack, where qdisk is used in place
> of tap anyhow. One could argue that mapping qemu to tap isn't too insane in
> the xm/xend stack either, since much of the blktap userspace code was
> originally based on qemu.
>
> The below patch works for me. Can you give it a try? I'd like to hear wha
> others think about taking the easy way out with option 2.
the following patch works for me.
regards
bamvor
>
> Regards,
> Jim
>
>
> From 92c476cbe47009c43ebb4a3076a17347c8eea238 Mon Sep 17 00:00:00 2001
> From: Jim Fehlig <jfehlig(a)suse.com>
> Date: Thu, 12 Jun 2014 15:28:48 -0600
> Subject: [PATCH] libxl: fix domxml-to-native with qemu disk driver
>
> Disk config containing <driver name='qemu'.../> is converted to
> the native config containg "qemu:/path/to/disk", which is not
> understood by xm or xl.
>
> This patch maps 'qemu' to 'tap'. In xl, tap is mapped to the qemu
> backend (aka qdisk), making this change essentially a no-op. In
> the xm stack, one could argue that mapping qemu to tap isn't too
> insane, since much of the blktap userspace code was originally
> based on qemu.
>
> While at it, noticed that 'driver' wasn't being honored in
> xenFormatXMDisk, so change the logic a bit to honor a
> user-specified driver.
>
> Signed-off-by: Jim Fehlig <jfehlig(a)suse.com>
> ---
> src/xenxs/xen_xm.c | 29 ++++++++++++++++++++---------
> 1 file changed, 20 insertions(+), 9 deletions(-)
>
> diff --git a/src/xenxs/xen_xm.c b/src/xenxs/xen_xm.c
> index b2db97d..ebd525b 100644
> --- a/src/xenxs/xen_xm.c
> +++ b/src/xenxs/xen_xm.c
> @@ -1201,17 +1201,28 @@ xenFormatXMDisk(virConfValuePtr list,
> int format = virDomainDiskGetFormat(disk);
> const char *driver = virDomainDiskGetDriver(disk);
>
> - if (src) {
> - if (format) {
> - const char *type;
> + /*
> + * In pre-libxl Xen, 'tap' provided the qemu driver functionality.
> + * In libxl Xen, qemu (aka qdisk) is in fact used. For backwards
> + * compatibility, tap == qdisk in libxl Xen, so it is safe to use
> + * 'tap' in libxl tool.
> + */
> + if (STREQ(driver, "qemu"))
> + driver = "tap";
>
> - if (format == VIR_STORAGE_FILE_RAW)
> - type = "aio";
> - else
> - type = virStorageFileFormatTypeToString(format);
> + if (src) {
> + if (driver) {
> virBufferAsprintf(&buf, "%s:", driver);
> - if (STREQ(driver, "tap"))
> - virBufferAsprintf(&buf, "%s:", type);
> + if (format) {
> + const char *type;
> +
> + if (format == VIR_STORAGE_FILE_RAW)
> + type = "aio";
> + else
> + type = virStorageFileFormatTypeToString(format);
> + if (STREQ(driver, "tap"))
> + virBufferAsprintf(&buf, "%s:", type);
> + }
> } else {
> switch (virDomainDiskGetType(disk)) {
> case VIR_STORAGE_TYPE_FILE:
> -- 1.8.4.5
10 years, 5 months
[libvirt] libvirt issue
by Zvi Dubitzky
Hi
I am looking for libvirt user mailing list (Red Hat ) but could not find
one .
So I am using this list (or maybe someone can direct me to such a list).
The problem: using libvirt under openstack I encounter a problem when
launching a VM with multiple partitions (2 G image)
While a single partition can be launched successfully .
We are using in libvirtd.conf log_level=1 and
log_outputs="1:file:/var/log/libvirt/libvirtd.log"
we can see that in /var/log/libvirt/libvirtd.log appear the following
error message :
2014-06-11 14:47:26.166+0000: 12971: error : qemuMonitorIO:614 : internal
error End of file from monitor
( file attached below)
>From the internet we could not figure out a solution to the problem
The host has enough resources and the XML of the VM is :
The libvirt version is: 0.10.2
The qemu-kvm version: 0.12.1.2
Any idea what is causing this error and how to overcome ?
Thx
Zvi Dubitzky
Email:dubi@il.ibm.com
10 years, 5 months