[libvirt] [PATCH] [RFC] lxc: Remove !priv->cgroup case
by Richard Weinberger
Currently we enforce that every container has a cgroup.
So we can delete these two !priv->cgroup branches.
Signed-off-by: Richard Weinberger <richard(a)nod.at>
---
Hi!
Maybe I miss something but I think we can delete these two !priv->cgroup branches.
If virLXCCgroupCreate() returns NULL the LXC controller exists.
Thanks,
//richard
---
src/lxc/lxc_process.c | 30 +++++++++---------------------
1 file changed, 9 insertions(+), 21 deletions(-)
diff --git a/src/lxc/lxc_process.c b/src/lxc/lxc_process.c
index ed729f6..f75d353 100644
--- a/src/lxc/lxc_process.c
+++ b/src/lxc/lxc_process.c
@@ -203,10 +203,8 @@ static void virLXCProcessCleanup(virLXCDriverPtr driver,
virDomainConfVMNWFilterTeardown(vm);
- if (priv->cgroup) {
- virCgroupRemove(priv->cgroup);
- virCgroupFree(&priv->cgroup);
- }
+ virCgroupRemove(priv->cgroup);
+ virCgroupFree(&priv->cgroup);
/* Get machined to terminate the machine as it may not have cleaned it
* properly. See https://bugs.freedesktop.org/show_bug.cgi?id=68370 for
@@ -697,23 +695,13 @@ int virLXCProcessStop(virLXCDriverPtr driver,
VIR_FREE(vm->def->seclabels[0]->imagelabel);
}
- if (priv->cgroup) {
- rc = virCgroupKillPainfully(priv->cgroup);
- if (rc < 0)
- return -1;
- if (rc > 0) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("Some processes refused to die"));
- return -1;
- }
- } else {
- /* If cgroup doesn't exist, just try cleaning up the
- * libvirt_lxc process */
- if (virProcessKillPainfully(vm->pid, true) < 0) {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- _("Processes %d refused to die"), (int)vm->pid);
- return -1;
- }
+ rc = virCgroupKillPainfully(priv->cgroup);
+ if (rc < 0)
+ return -1;
+ if (rc > 0) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("Some processes refused to die"));
+ return -1;
}
virLXCProcessCleanup(driver, vm, reason);
--
1.8.4.5
10 years, 9 months
[libvirt] [PATCH] lxc: Don't shadow global symbol "link"
by Peter Krempa
Yet another variable name frowned upon by older compilers. Introduced in
commit b73c029d.
---
src/lxc/lxc_native.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/src/lxc/lxc_native.c b/src/lxc/lxc_native.c
index 2cf479d..663e29c 100644
--- a/src/lxc/lxc_native.c
+++ b/src/lxc/lxc_native.c
@@ -334,7 +334,7 @@ lxcFstabWalkCallback(const char* name, virConfValuePtr value, void * data)
static virDomainNetDefPtr
lxcCreateNetDef(const char *type,
- const char *link,
+ const char *linkdev,
const char *mac,
const char *flag,
const char *macvlanmode)
@@ -357,18 +357,18 @@ lxcCreateNetDef(const char *type,
net->mac = macAddr;
if (STREQ(type, "veth")) {
- if (!link)
+ if (!linkdev)
goto error;
net->type = VIR_DOMAIN_NET_TYPE_BRIDGE;
- if (VIR_STRDUP(net->data.bridge.brname, link) < 0)
+ if (VIR_STRDUP(net->data.bridge.brname, linkdev) < 0)
goto error;
} else if (STREQ(type, "macvlan")) {
net->type = VIR_DOMAIN_NET_TYPE_DIRECT;
- if (!link || VIR_STRDUP(net->data.direct.linkdev, link) < 0)
+ if (!linkdev || VIR_STRDUP(net->data.direct.linkdev, linkdev) < 0)
goto error;
if (!macvlanmode || STREQ(macvlanmode, "private"))
@@ -411,7 +411,7 @@ lxcCreateHostdevDef(int mode, int type, const char *data)
static int
lxcAddNetworkDefinition(virDomainDefPtr def,
const char *type,
- const char *link,
+ const char *linkdev,
const char *mac,
const char *flag,
const char *macvlanmode,
@@ -428,14 +428,14 @@ lxcAddNetworkDefinition(virDomainDefPtr def,
isPhys = STREQ(type, "phys");
isVlan = STREQ(type, "vlan");
if (type != NULL && (isPhys || isVlan)) {
- if (!link) {
+ if (!linkdev) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("Missing 'link' attribute for NIC"));
goto error;
}
if (!(hostdev = lxcCreateHostdevDef(VIR_DOMAIN_HOSTDEV_MODE_CAPABILITIES,
VIR_DOMAIN_HOSTDEV_CAPS_TYPE_NET,
- link)))
+ linkdev)))
goto error;
/* This still requires the user to manually setup the vlan interface
@@ -443,7 +443,7 @@ lxcAddNetworkDefinition(virDomainDefPtr def,
if (isVlan && vlanid) {
VIR_FREE(hostdev->source.caps.u.net.iface);
if (virAsprintf(&hostdev->source.caps.u.net.iface,
- "%s.%s", link, vlanid) < 0)
+ "%s.%s", linkdev, vlanid) < 0)
goto error;
}
@@ -451,7 +451,7 @@ lxcAddNetworkDefinition(virDomainDefPtr def,
goto error;
def->hostdevs[def->nhostdevs - 1] = hostdev;
} else {
- if (!(net = lxcCreateNetDef(type, link, mac, flag, macvlanmode)))
+ if (!(net = lxcCreateNetDef(type, linkdev, mac, flag, macvlanmode)))
goto error;
if (VIR_EXPAND_N(def->nets, def->nnets, 1) < 0)
--
1.8.5.3
10 years, 9 months
[libvirt] [PATCHv6 0/8] Gluster snapshot series
by Peter Krempa
This version was tweaked according to Dan's and Eric's feedback.
Peter Krempa (8):
conf: Move qemuDiskGetActualType to virDomainDiskGetActualType
conf: Move qemuSnapshotDiskGetActualType to
virDomainSnapshotDiskGetActualType
storage: Add file storage APIs in the default storage driver
storage: add file functions for local and block files
storage: Add storage file backends for gluster
qemu: Switch snapshot deletion to the new API functions
qemu: snapshot: Use new APIs to detect presence of existing storage
files
qemu: snapshot: Add support for external active snapshots on gluster
cfg.mk | 1 +
docs/formatsnapshot.html.in | 5 +-
src/conf/domain_conf.c | 10 ++
src/conf/domain_conf.h | 1 +
src/conf/snapshot_conf.c | 7 ++
src/conf/snapshot_conf.h | 2 +
src/libvirt_private.syms | 2 +
src/qemu/qemu_command.c | 8 +-
src/qemu/qemu_command.h | 9 ++
src/qemu/qemu_conf.c | 17 ---
src/qemu/qemu_conf.h | 4 -
src/qemu/qemu_driver.c | 198 ++++++++++++++++++++++++++--------
src/storage/storage_backend.c | 44 ++++++++
src/storage/storage_backend.h | 41 +++++++
src/storage/storage_backend_fs.c | 48 +++++++++
src/storage/storage_backend_fs.h | 2 +
src/storage/storage_backend_gluster.c | 139 ++++++++++++++++++++++++
src/storage/storage_backend_gluster.h | 1 +
src/storage/storage_driver.c | 145 +++++++++++++++++++++++++
src/storage/storage_driver.h | 32 +++++-
tests/Makefile.am | 3 +
21 files changed, 644 insertions(+), 75 deletions(-)
--
1.8.5.3
10 years, 9 months
[libvirt] [PATCH] storage: gluster: Don't leak private data when storage file init fails
by Peter Krempa
In a44b7b87bcc6681e2939f65a3552fc96f68bc7b6 I've introduced a function
that initializes a storage file wrapper object on gluster based volumes.
The initialization function leaks the private data pointer in case of
failure. This patch fixes it.
Reported by John Ferlan.
---
Notes:
Pushed under the trivial rule.
src/storage/storage_backend_gluster.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/storage/storage_backend_gluster.c b/src/storage/storage_backend_gluster.c
index a9c33c2..202a441 100644
--- a/src/storage/storage_backend_gluster.c
+++ b/src/storage/storage_backend_gluster.c
@@ -570,6 +570,7 @@ virStorageFileBackendGlusterInit(virStorageFilePtr file)
error:
VIR_FREE(priv->volname);
glfs_fini(priv->vol);
+ VIR_FREE(priv);
return -1;
}
--
1.8.5.3
10 years, 9 months
[libvirt] [PATCH 1/2] lxc: Add virCgroupSetOwner()
by Richard Weinberger
Add a new helper function to change the permissions
of a control group.
This function is needed for user namespaces, we need to chmod()
the cgroup to the initial uid/gid such that systemd is allowed to
use the cgroup.
Signed-off-by: Richard Weinberger <richard(a)nod.at>
---
src/libvirt_private.syms | 1 +
src/lxc/lxc_cgroup.c | 7 +++++++
src/util/vircgroup.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++
src/util/vircgroup.h | 2 ++
4 files changed, 56 insertions(+)
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index 2c9536a..40e72f2 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -1056,6 +1056,7 @@ virCgroupSetMemory;
virCgroupSetMemoryHardLimit;
virCgroupSetMemorySoftLimit;
virCgroupSetMemSwapHardLimit;
+virCgroupSetOwner;
virCgroupSupportsCpuBW;
diff --git a/src/lxc/lxc_cgroup.c b/src/lxc/lxc_cgroup.c
index cc0d5e8..de93528 100644
--- a/src/lxc/lxc_cgroup.c
+++ b/src/lxc/lxc_cgroup.c
@@ -484,6 +484,13 @@ virCgroupPtr virLXCCgroupCreate(virDomainDefPtr def)
&cgroup) < 0)
goto cleanup;
+ /* setup control group permissions for user namespace */
+ if (def->idmap.uidmap) {
+ if (virCgroupSetOwner(cgroup, def->idmap.uidmap[0].target,
+ def->idmap.gidmap[0].target))
+ goto cleanup;
+ }
+
cleanup:
return cgroup;
}
diff --git a/src/util/vircgroup.c b/src/util/vircgroup.c
index a6d60c5..b2666e8 100644
--- a/src/util/vircgroup.c
+++ b/src/util/vircgroup.c
@@ -3252,6 +3252,52 @@ cleanup:
return ret;
}
+int virCgroupSetOwner(virCgroupPtr cgroup, uid_t uid, gid_t gid) {
+ size_t i;
+
+ for (i = 0; i < VIR_CGROUP_CONTROLLER_LAST; i++) {
+ char *base, *entry;
+ DIR *dh;
+ struct dirent *de;
+
+ if (!cgroup->controllers[i].mountPoint)
+ continue;
+
+ if (virAsprintf(&base, "%s%s", cgroup->controllers[i].mountPoint,
+ cgroup->controllers[i].placement) < 0) {
+ virReportOOMError();
+ return -1;
+ }
+
+ dh = opendir(base);
+ while ((de = readdir(dh)) != NULL) {
+ if (STREQ(de->d_name, ".") ||
+ STREQ(de->d_name, ".."))
+ continue;
+
+ if (virAsprintf(&entry, "%s/%s", base, de->d_name) < 0) {
+ VIR_FREE(base);
+ virReportOOMError();
+ }
+
+ if (chown(entry, uid, gid) < 0)
+ virReportSystemError(errno, _("cannot chown '%s' to (%u, %u)"),
+ entry, uid, gid);
+
+ VIR_FREE(entry);
+ }
+ closedir(dh);
+
+ if (chown(base, uid, gid) < 0)
+ virReportSystemError(errno, _("cannot chown '%s' to (%u, %u)"),
+ base, uid, gid);
+
+ VIR_FREE(base);
+ }
+
+ return 0;
+}
+
/**
* virCgroupSupportsCpuBW():
diff --git a/src/util/vircgroup.h b/src/util/vircgroup.h
index a70eb18..6e00f28 100644
--- a/src/util/vircgroup.h
+++ b/src/util/vircgroup.h
@@ -225,4 +225,6 @@ int virCgroupIsolateMount(virCgroupPtr group,
bool virCgroupSupportsCpuBW(virCgroupPtr cgroup);
+int virCgroupSetOwner(virCgroupPtr cgroup, uid_t uid, gid_t gid);
+
#endif /* __VIR_CGROUP_H__ */
--
1.8.4.5
10 years, 9 months
[libvirt] [PATCH] storage: Fix build with older compilers afeter gluster snapshot series
by Peter Krempa
In commit e32268184b4fd1611ed5ffd3c758b8f6a34152e6 I accidentally added
twice a typedef for virStorageFileBackend when I moved it between files
across patch iterations. The double declaration breaks build on older
compilers in RHEL5 and FreeBSD.
Remove the spurious definition.
---
Notes:
Pushed under the build-breaker rule.
src/storage/storage_backend.h | 3 ---
1 file changed, 3 deletions(-)
diff --git a/src/storage/storage_backend.h b/src/storage/storage_backend.h
index 1c7ad1e..5314411 100644
--- a/src/storage/storage_backend.h
+++ b/src/storage/storage_backend.h
@@ -207,9 +207,6 @@ typedef int
(*virStorageFileBackendStat)(virStorageFilePtr file,
struct stat *st);
-typedef struct _virStorageFileBackend virStorageFileBackend;
-typedef virStorageFileBackend *virStorageFileBackendPtr;
-
virStorageFileBackendPtr virStorageFileBackendForType(int type, int protocol);
struct _virStorageFileBackend {
--
1.8.5.3
10 years, 9 months
[libvirt] [PATCH v7 0/7] Support keyboard device
by Li Zhang
From: Li Zhang <zhlcindy(a)linux.vnet.ibm.com>
This patchset is to add keyboard input device.
For PPC64, it doesn't support a default keyboard device when the graphic
is enabled. Libvirt supports QEMU command line as "-device VGA" which
won't create any keyboard device for it. So it requires libvirt to add
a default USB keyboard device for it.
This patchset is to add keyboard input device and a default USB keyboard
for PPC64.
The related discussion in QEMU community:
http://lists.nongnu.org/archive/html/qemu-devel/2013-11/msg01734.html
Li Zhang (7):
conf: Add a keyboard input device type
conf: Add one interface to add default input devices
conf: Remove the implicit PS2 mouse for non-X86 and platforms and
add an implicit PS2 keyboard device for X86 platforms.
qemu_cap: Add USB keyboard capability
qemu: format qemu command line for USB keyboard
xen: format xen command line for USB keyboard
Add a default USB keyboard and USB mouse for PPC64
v7 -> v6:
* Corret indention errors in code. (Jan Tomko)
* Correct make check error in xen driver. (Jan Tomko)
* Split 5/6 to 2 parts, qemu and xen. (Jan Tomko)
v6 -> v5:
* Change kbd to keyboard, and correct -usbdevice parameter.
* Remove implicit PS/2 keyboard output in XML in case
older libvirtd can read it. (Jan Tomko)
* Remove implicit keyboard for XEN to make it safer.
v5 -> v4:
* Add PS/2 KBD definition in XML file. (Daniel.P.Berrange)
* Allow PS/2 KBD devices and set KBD default bus as PS2 for X86,
USB for non-x86. (Daniel.P.Berrange)
* Add an implicit PS/2 KBD as PS/2 mouse. (Danniel.P.Berrange)
v4 -> v3:
* Don't remove PS2 mouse device for other virtualization drivers (Jan Tomko).
v3 -> v2:
* Handle the KBD device type in xen and QEMU driver. (Daniel.P.Berrange)
* Remove PS2 mouse device for non-X86 platforms.
* Move virDomainDefMaybeAddInput to a new patch. (Jan Tomko)
* Replace VIR_REALLOC_N with VIR_APPEND_ELEMENT. (Jan Tomoko)
* Fix several typos. (Jan Tomoko)
* Add a virReportError when QEMU_CAPS_DEVICE_USB_KBD can't be gotten. (Jan Tomoko)
v2 -> v1:
* change ifs to switch clause.
* reconstruct the patches
docs/schemas/domaincommon.rng | 1 +
src/conf/domain_conf.c | 112 ++++++++++++++-------
src/conf/domain_conf.h | 5 +
src/libvirt_private.syms | 1 +
src/qemu/qemu_capabilities.c | 3 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 41 ++++++--
src/qemu/qemu_domain.c | 23 ++++-
src/util/virarch.h | 2 +
src/xenxs/xen_sxpr.c | 27 +++--
src/xenxs/xen_xm.c | 30 ++++--
tests/qemucapabilitiesdata/caps_1.2.2-1.caps | 1 +
tests/qemucapabilitiesdata/caps_1.3.1-1.caps | 1 +
tests/qemucapabilitiesdata/caps_1.4.2-1.caps | 1 +
tests/qemucapabilitiesdata/caps_1.5.3-1.caps | 1 +
tests/qemucapabilitiesdata/caps_1.6.0-1.caps | 1 +
tests/qemucapabilitiesdata/caps_1.6.50-1.caps | 1 +
tests/qemuhelptest.c | 8 ++
.../qemuxml2argvdata/qemuxml2argv-pseries-disk.xml | 3 +-
.../qemuxml2argv-pseries-usb-kbd.args | 9 ++
.../qemuxml2argv-pseries-usb-kbd.xml | 19 ++++
tests/qemuxml2argvtest.c | 3 +
22 files changed, 227 insertions(+), 67 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pseries-usb-kbd.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pseries-usb-kbd.xml
--
1.8.2.1
10 years, 9 months
[libvirt] [PATCH v3 00/21] LXC configuration conversion
by Cédric Bosdonnat
Here is an updated version of the patch set fixing comments from Daniel.
It also adds 3 commits:
* One adding conversion for the newly supported blkio throttle tune
in lxc driver.
* One actually using the state of the veth network device in lxc
driver.
* One adding the ability to give major:minor numbers instead of a path
for blkio tune devices.
The last one is a way to address Daniel's comment on the /dev/block/...
paths.
Cédric Bosdonnat (21):
Improve virConf parse to handle LXC config format
LXC driver: started implementing connectDomainXMLFromNative
LXC from native: import rootfs
LXC from native: migrate fstab and lxc.mount.entry
LXC from native: implement no network conversion
LXC from native: migrate veth network configuration
LXC from native: convert phys network types to net hostdev devices
LXC from native: convert lxc.tty to console devices
LXC from native: convert macvlan network configuration
LXC from native: convert lxc.id_map into <idmap>
LXC from native: migrate memory tuning
LXC from native: map lxc.cgroup.cpu.*
LXC from native: map lxc.cgroup.cpuset.*
LXC from native: add lxc.cgroup.blkio.* mapping
LXC from native: map lxc.arch to /domain/os/type@arch
LXC from native: map block filesystems
LXC from native: map vlan network type
LXC: added some doc on domxml-from-native with mention of limitations
LXC from native: convert blkio throttle config
lxc: honor link state=up for veth interfaces
blkiotune: allow <node major='' minor=''/> in place of <path>
.gitignore | 1 +
docs/drvlxc.html.in | 34 +-
docs/formatdomain.html.in | 10 +-
po/POTFILES.in | 1 +
src/Makefile.am | 1 +
src/conf/domain_conf.c | 45 +-
src/conf/domain_conf.h | 2 +
src/libvirt_private.syms | 1 +
src/lxc/lxc_cgroup.c | 5 +
src/lxc/lxc_container.c | 2 +-
src/lxc/lxc_container.h | 2 +
src/lxc/lxc_driver.c | 41 +
src/lxc/lxc_native.c | 952 +++++++++++++++++++++
src/lxc/lxc_native.h | 32 +
src/lxc/lxc_process.c | 5 +
src/qemu/qemu_cgroup.c | 5 +
src/qemu/qemu_driver.c | 10 +
src/util/vircgroup.c | 126 ++-
src/util/vircgroup.h | 10 +
src/util/virconf.c | 46 +-
src/util/virconf.h | 10 +
tests/Makefile.am | 7 +-
tests/lxcconf2xmldata/lxcconf2xml-blkiotune.config | 11 +
tests/lxcconf2xmldata/lxcconf2xml-blkiotune.xml | 39 +
.../lxcconf2xmldata/lxcconf2xml-cpusettune.config | 6 +
tests/lxcconf2xmldata/lxcconf2xml-cpusettune.xml | 27 +
tests/lxcconf2xmldata/lxcconf2xml-cputune.config | 7 +
tests/lxcconf2xmldata/lxcconf2xml-cputune.xml | 29 +
tests/lxcconf2xmldata/lxcconf2xml-fstab.config | 37 +
tests/lxcconf2xmldata/lxcconf2xml-idmap.config | 5 +
tests/lxcconf2xmldata/lxcconf2xml-idmap.xml | 28 +
.../lxcconf2xml-macvlannetwork.config | 13 +
.../lxcconf2xmldata/lxcconf2xml-macvlannetwork.xml | 26 +
tests/lxcconf2xmldata/lxcconf2xml-memtune.config | 10 +
tests/lxcconf2xmldata/lxcconf2xml-memtune.xml | 29 +
.../lxcconf2xmldata/lxcconf2xml-nonenetwork.config | 4 +
tests/lxcconf2xmldata/lxcconf2xml-nonenetwork.xml | 21 +
tests/lxcconf2xmldata/lxcconf2xml-nonetwork.config | 3 +
tests/lxcconf2xmldata/lxcconf2xml-nonetwork.xml | 24 +
.../lxcconf2xmldata/lxcconf2xml-physnetwork.config | 6 +
tests/lxcconf2xmldata/lxcconf2xml-physnetwork.xml | 26 +
tests/lxcconf2xmldata/lxcconf2xml-simple.config | 41 +
tests/lxcconf2xmldata/lxcconf2xml-simple.xml | 41 +
.../lxcconf2xmldata/lxcconf2xml-vlannetwork.config | 12 +
tests/lxcconf2xmldata/lxcconf2xml-vlannetwork.xml | 26 +
tests/lxcconf2xmltest.c | 131 +++
46 files changed, 1865 insertions(+), 85 deletions(-)
create mode 100644 src/lxc/lxc_native.c
create mode 100644 src/lxc/lxc_native.h
create mode 100644 tests/lxcconf2xmldata/lxcconf2xml-blkiotune.config
create mode 100644 tests/lxcconf2xmldata/lxcconf2xml-blkiotune.xml
create mode 100644 tests/lxcconf2xmldata/lxcconf2xml-cpusettune.config
create mode 100644 tests/lxcconf2xmldata/lxcconf2xml-cpusettune.xml
create mode 100644 tests/lxcconf2xmldata/lxcconf2xml-cputune.config
create mode 100644 tests/lxcconf2xmldata/lxcconf2xml-cputune.xml
create mode 100644 tests/lxcconf2xmldata/lxcconf2xml-fstab.config
create mode 100644 tests/lxcconf2xmldata/lxcconf2xml-idmap.config
create mode 100644 tests/lxcconf2xmldata/lxcconf2xml-idmap.xml
create mode 100644 tests/lxcconf2xmldata/lxcconf2xml-macvlannetwork.config
create mode 100644 tests/lxcconf2xmldata/lxcconf2xml-macvlannetwork.xml
create mode 100644 tests/lxcconf2xmldata/lxcconf2xml-memtune.config
create mode 100644 tests/lxcconf2xmldata/lxcconf2xml-memtune.xml
create mode 100644 tests/lxcconf2xmldata/lxcconf2xml-nonenetwork.config
create mode 100644 tests/lxcconf2xmldata/lxcconf2xml-nonenetwork.xml
create mode 100644 tests/lxcconf2xmldata/lxcconf2xml-nonetwork.config
create mode 100644 tests/lxcconf2xmldata/lxcconf2xml-nonetwork.xml
create mode 100644 tests/lxcconf2xmldata/lxcconf2xml-physnetwork.config
create mode 100644 tests/lxcconf2xmldata/lxcconf2xml-physnetwork.xml
create mode 100644 tests/lxcconf2xmldata/lxcconf2xml-simple.config
create mode 100644 tests/lxcconf2xmldata/lxcconf2xml-simple.xml
create mode 100644 tests/lxcconf2xmldata/lxcconf2xml-vlannetwork.config
create mode 100644 tests/lxcconf2xmldata/lxcconf2xml-vlannetwork.xml
create mode 100644 tests/lxcconf2xmltest.c
--
1.8.5.2
10 years, 9 months
Re: [libvirt] [PATCH RFC 0/2] support compression with dumping guest memory
by Qiao Nuohan
On 01/29/2014 10:04 AM, qiaonuohan wrote:
> --memory-only option is introduced without compression supported. Therefore,
> this is a freature regression of virsh dump. This patchset is used to add
> compression support in libvirt side and please refer the following address to
> see the qemu side, the lastest version of qemu side v7(ready for comment now).
>
> http://lists.gnu.org/archive/html/qemu-devel/2014-01/msg03669.html
>
> qiaonuohan (2):
> support compression when --memory-only option is specified
> support configuring the format of dumping memory in qemu.conf
>
> include/libvirt/libvirt.h.in | 18 +++++++++----
> src/libvirt.c | 15 +++++++++++
> src/qemu/libvirtd_qemu.aug | 1 +
> src/qemu/qemu.conf | 6 +++++
> src/qemu/qemu_conf.c | 2 ++
> src/qemu/qemu_conf.h | 1 +
> src/qemu/qemu_driver.c | 52 +++++++++++++++++++++++++++++++++++---
> src/qemu/qemu_monitor.c | 6 ++---
> src/qemu/qemu_monitor.h | 3 ++-
> src/qemu/qemu_monitor_json.c | 4 ++-
> src/qemu/qemu_monitor_json.h | 3 ++-
> src/qemu/test_libvirtd_qemu.aug.in | 1 +
> tests/qemumonitorjsontest.c | 2 +-
> tools/virsh-domain.c | 29 +++++++++++++++++++++
> 14 files changed, 127 insertions(+), 16 deletions(-)
>
Hello
Do you have some comments on my patches?
--
Regards
Qiao Nuohan
10 years, 9 months
[libvirt] Get Info for QEMU/KVM storage and volume
by Qiang Fu
Hi all,
I am new to libvirt.
Right now I am trying to use libvirt to get statistics information (size,
free space and so on) on host storage and vm volume running on QEMU/KVM
hypervisor. However when I looked at the API support matrix:
http://libvirt.org/hvsupport.html#virStorageDriver
It seems the storage pool APIs do not support QEMU/KVM even for the latest
version of libvirt.
Can anyone suggest any workaround solution? Or will there be any plan in
the future for libvirt to support that?
Thanks in advance,
Bruce
10 years, 9 months