[libvirt] [PATCH] docs: Point to list of valid pool target volume formats
by John Ferlan
https://bugzilla.redhat.com/show_bug.cgi?id=1092886
Rather than point off to some nefarious "pool-specific docs" page when
describing the "format" field for the target pool provide a link to the
storage driver page which describes the various valid formats for each
pool type. Also make it a bit more clear that if a valid format isn't
specified, then the type field is ignored.
Signed-off-by: John Ferlan <jferlan(a)redhat.com>
---
docs/formatstorage.html.in | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/docs/formatstorage.html.in b/docs/formatstorage.html.in
index e264985..e25bba7 100644
--- a/docs/formatstorage.html.in
+++ b/docs/formatstorage.html.in
@@ -508,8 +508,12 @@
or directory pools it will provide the file format type, eg cow,
qcow, vmdk, raw. If omitted when creating a volume, the pool's
default format will be used. The actual format is specified via
- the <code>type</code> attribute. Consult the pool-specific docs for
- the list of valid values. <span class="since">Since 0.4.1</span></dd>
+ the <code>type</code> attribute. Consult the
+ <a href="storage.html">storage driver page</a> for the list of valid
+ volume format type values for each specific pool. The
+ <code>format</code> will be ignored on input for pools without a
+ volume format type value and the default pool format will be used.
+ <span class="since">Since 0.4.1</span></dd>
<dt><code>permissions</code></dt>
<dd>Provides information about the default permissions to use
when creating volumes. This is currently only useful for directory
--
1.9.3
10 years, 10 months
[libvirt] [PATCH v2 0/8] Speed up waiting for the session daemon
by Martin Kletzander
This is complete rework of:
http://www.redhat.com/archives/libvir-list/2013-April/msg01351.html
where Daniel suggested we use systemd-like passing of socket fd in
combination with the LISTEN_FDS environment variable:
http://www.redhat.com/archives/libvir-list/2013-April/msg01356.html
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=927369
Martin Kletzander (8):
util: abstract parsing of passed FDs into virGetListenFDs()
remote: create virNetServerServiceNewFDOrUNIX() wrapper
rpc: set listen backlog on FDs as well as on other sockets
daemon: support passing FDs from the calling process
cfg.mk: allow integers to be assigned a value computed with i|j|k
tests: support dynamic prefixes in commandtest
util: add virCommandPassListenFDs() function
rpc: pass listen FD to the daemon being started
cfg.mk | 2 +-
daemon/libvirtd.c | 45 ++++++++++--------
src/libvirt_private.syms | 2 +
src/libvirt_remote.syms | 1 +
src/locking/lock_daemon.c | 47 ++-----------------
src/rpc/virnetserverservice.c | 53 ++++++++++++++++++++-
src/rpc/virnetserverservice.h | 15 +++++-
src/rpc/virnetsocket.c | 58 +++++++++++++++--------
src/util/vircommand.c | 99 +++++++++++++++++++++++++++++++++++++++
src/util/vircommand.h | 4 +-
src/util/virutil.c | 51 ++++++++++++++++++++
src/util/virutil.h | 2 +
tests/commanddata/test24.log | 7 +++
tests/commandtest.c | 105 ++++++++++++++++++++++++++++++++++--------
14 files changed, 389 insertions(+), 102 deletions(-)
create mode 100644 tests/commanddata/test24.log
--
2.0.0
10 years, 10 months
[libvirt] [PATCH] nodedev: fix pci express memory leak
by Eric Blake
Leak introduced in commit 16ebf10f (v1.2.6), detected by valgrind:
==9816== 216 (96 direct, 120 indirect) bytes in 6 blocks are definitely lost in loss record 665 of 821
==9816== at 0x4A081D4: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==9816== by 0x50836FB: virAlloc (viralloc.c:144)
==9816== by 0x1DBDBE27: udevProcessPCI (node_device_udev.c:546)
==9816== by 0x1DBDD79D: udevGetDeviceDetails (node_device_udev.c:1293)
While at it, fix switch statements to be a bit more vocal if we forget
some cases when adding new devices.
* src/conf/node_device_conf.c (virNodeDeviceDefFormat)
(virNodeDevCapsDefParseXML): Drop default case.
(virNodeDevCapsDefFree): Likewise, and clear pci_express under pci
case.
Signed-off-by: Eric Blake <eblake(a)redhat.com>
---
I could be persuaded to split this into two patches.
src/conf/node_device_conf.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/conf/node_device_conf.c b/src/conf/node_device_conf.c
index 910a371..4b34fec 100644
--- a/src/conf/node_device_conf.c
+++ b/src/conf/node_device_conf.c
@@ -547,7 +547,6 @@ char *virNodeDeviceDefFormat(const virNodeDeviceDef *def)
case VIR_NODE_DEV_CAP_FC_HOST:
case VIR_NODE_DEV_CAP_VPORTS:
case VIR_NODE_DEV_CAP_LAST:
- default:
break;
}
@@ -1405,7 +1404,10 @@ virNodeDevCapsDefParseXML(xmlXPathContextPtr ctxt,
case VIR_NODE_DEV_CAP_STORAGE:
ret = virNodeDevCapStorageParseXML(ctxt, def, node, &caps->data);
break;
- default:
+ case VIR_NODE_DEV_CAP_FC_HOST:
+ case VIR_NODE_DEV_CAP_VPORTS:
+ case VIR_NODE_DEV_CAP_SCSI_GENERIC:
+ case VIR_NODE_DEV_CAP_LAST:
virReportError(VIR_ERR_INTERNAL_ERROR,
_("unknown capability type '%d' for '%s'"),
caps->type, def->name);
@@ -1665,6 +1667,7 @@ void virNodeDevCapsDefFree(virNodeDevCapsDefPtr caps)
VIR_FREE(data->pci_dev.iommuGroupDevices[i]);
}
VIR_FREE(data->pci_dev.iommuGroupDevices);
+ VIR_FREE(data->pci_dev.pci_express);
break;
case VIR_NODE_DEV_CAP_USB_DEV:
VIR_FREE(data->usb_dev.product_name);
@@ -1703,7 +1706,6 @@ void virNodeDevCapsDefFree(virNodeDevCapsDefPtr caps)
case VIR_NODE_DEV_CAP_FC_HOST:
case VIR_NODE_DEV_CAP_VPORTS:
case VIR_NODE_DEV_CAP_LAST:
- default:
/* This case is here to shutup the compiler */
break;
}
--
1.9.3
10 years, 10 months
[libvirt] [PATCH] metadata: track title edits across libvirtd restart
by Eric Blake
https://bugzilla.redhat.com/show_bug.cgi?id=1122205
Although the edits were changing in-memory XML, it was not flushed
to disk; so unless some other action changes XML, a libvirtd restart
would lose the changed information.
* src/conf/domain_conf.c (virDomainObjSetMetadata): Add parameter,
to save live status across restarts.
(virDomainSaveXML): Allow for test driver.
* src/conf/domain_conf.h (virDomainObjSetMetadata): Adjust
signature.
* src/bhyve/bhyve_driver.c (bhyveDomainSetMetadata): Adjust caller.
* src/lxc/lxc_driver.c (lxcDomainSetMetadata): Likewise.
* src/qemu/qemu_driver.c (qemuDomainSetMetadata): Likewise.
* src/test/test_driver.c (testDomainSetMetadata): Likewise.
Signed-off-by: Eric Blake <eblake(a)redhat.com>
---
src/bhyve/bhyve_driver.c | 3 ++-
src/conf/domain_conf.c | 9 ++++++++-
src/conf/domain_conf.h | 1 +
src/lxc/lxc_driver.c | 3 ++-
src/qemu/qemu_driver.c | 3 ++-
src/test/test_driver.c | 2 +-
6 files changed, 16 insertions(+), 5 deletions(-)
diff --git a/src/bhyve/bhyve_driver.c b/src/bhyve/bhyve_driver.c
index 9a13076..135cb24 100644
--- a/src/bhyve/bhyve_driver.c
+++ b/src/bhyve/bhyve_driver.c
@@ -1046,7 +1046,8 @@ bhyveDomainSetMetadata(virDomainPtr dom,
goto cleanup;
ret = virDomainObjSetMetadata(vm, type, metadata, key, uri, caps,
- privconn->xmlopt, BHYVE_CONFIG_DIR, flags);
+ privconn->xmlopt, BHYVE_STATE_DIR,
+ BHYVE_CONFIG_DIR, flags);
cleanup:
virObjectUnref(caps);
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 4b00280..6ed6155 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -18111,6 +18111,9 @@ virDomainSaveXML(const char *configDir,
char *configFile = NULL;
int ret = -1;
+ if (!configDir)
+ return 0;
+
if ((configFile = virDomainConfigFile(configDir, def->name)) == NULL)
goto cleanup;
@@ -19741,6 +19744,7 @@ virDomainObjSetMetadata(virDomainObjPtr vm,
const char *uri,
virCapsPtr caps,
virDomainXMLOptionPtr xmlopt,
+ const char *stateDir,
const char *configDir,
unsigned int flags)
{
@@ -19753,9 +19757,12 @@ virDomainObjSetMetadata(virDomainObjPtr vm,
&persistentDef) < 0)
return -1;
- if (flags & VIR_DOMAIN_AFFECT_LIVE)
+ if (flags & VIR_DOMAIN_AFFECT_LIVE) {
if (virDomainDefSetMetadata(vm->def, type, metadata, key, uri) < 0)
return -1;
+ if (virDomainSaveStatus(xmlopt, stateDir, vm) < 0)
+ return -1;
+ }
if (flags & VIR_DOMAIN_AFFECT_CONFIG) {
if (virDomainDefSetMetadata(persistentDef, type, metadata, key, uri) < 0)
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index f5eb031..d89bbe7 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -2715,6 +2715,7 @@ int virDomainObjSetMetadata(virDomainObjPtr vm,
const char *uri,
virCapsPtr caps,
virDomainXMLOptionPtr xmlopt,
+ const char *stateDir,
const char *configDir,
unsigned int flags);
diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c
index b7b4b02..855222f 100644
--- a/src/lxc/lxc_driver.c
+++ b/src/lxc/lxc_driver.c
@@ -5600,7 +5600,8 @@ lxcDomainSetMetadata(virDomainPtr dom,
goto cleanup;
ret = virDomainObjSetMetadata(vm, type, metadata, key, uri, caps,
- driver->xmlopt, cfg->configDir, flags);
+ driver->xmlopt, cfg->stateDir,
+ cfg->configDir, flags);
cleanup:
virObjectUnlock(vm);
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 9d23f6d..72e4a91 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -16128,7 +16128,8 @@ qemuDomainSetMetadata(virDomainPtr dom,
goto cleanup;
ret = virDomainObjSetMetadata(vm, type, metadata, key, uri, caps,
- driver->xmlopt, cfg->configDir, flags);
+ driver->xmlopt, cfg->stateDir,
+ cfg->configDir, flags);
cleanup:
virObjectUnlock(vm);
diff --git a/src/test/test_driver.c b/src/test/test_driver.c
index 67f637d..3b22cf6 100644
--- a/src/test/test_driver.c
+++ b/src/test/test_driver.c
@@ -3042,7 +3042,7 @@ static int testDomainSetMetadata(virDomainPtr dom,
ret = virDomainObjSetMetadata(privdom, type, metadata, key, uri,
privconn->caps, privconn->xmlopt,
- NULL, flags);
+ NULL, NULL, flags);
cleanup:
if (privdom)
--
1.9.3
10 years, 10 months
[libvirt] [PATCHv2 0/2] Tri-state bool enum cleanups
by Ján Tomko
v2: better names
move to virutil and use them in network_conf and device_conf too
Ján Tomko (2):
Introduce virTristateBool enum type
Introduce virTristateSwitch enum
src/conf/device_conf.c | 8 +-
src/conf/device_conf.h | 10 ---
src/conf/domain_conf.c | 202 +++++++++++++++-----------------------------
src/conf/domain_conf.h | 116 ++-----------------------
src/conf/network_conf.c | 11 +--
src/conf/network_conf.h | 15 +---
src/libvirt_private.syms | 28 +-----
src/libxl/libxl_conf.c | 6 +-
src/lxc/lxc_container.c | 4 +-
src/lxc/lxc_native.c | 2 +-
src/network/bridge_driver.c | 3 +-
src/qemu/qemu_command.c | 90 ++++++++++----------
src/qemu/qemu_driver.c | 4 +-
src/qemu/qemu_process.c | 2 +-
src/util/virutil.c | 11 +++
src/util/virutil.h | 21 +++++
src/vbox/vbox_tmpl.c | 22 ++---
src/xenxs/xen_sxpr.c | 20 ++---
src/xenxs/xen_xm.c | 20 ++---
19 files changed, 200 insertions(+), 395 deletions(-)
--
1.8.5.5
10 years, 10 months
[libvirt] [PATCH 0/2] Refactor virMutexInit virRWLockInit and virCondInit
by Jincheng Miao
Implement virMutexInitInternal, virRWLockInitInternal and virCondInitInternal
which include error message reporting.
int virMutexInitInternal(virMutexPtr mutex, bool recursive, bool quite,
const char *filename, const char *funcname,
size_t linenr)
virMutexInit calls virMutexInitInternal with quite == false;
virMutexInitQuite calls virMutexInitInternal with quite == true.
Same for virRWLockInit and virCondInit.
And remove redundant error messages after virMutexInit from other source files.
Jincheng Miao (2):
Refactor virMutexInit virRWLockInit and virCondInit
remove error message when virMutexInit and virCondInit failed
daemon/remote.c | 1 -
src/conf/interface_conf.c | 2 -
src/conf/network_conf.c | 2 -
src/conf/node_device_conf.c | 2 -
src/conf/nwfilter_conf.c | 2 -
src/conf/object_event.c | 2 -
src/conf/storage_conf.c | 2 -
src/conf/virchrdev.c | 2 -
src/esx/esx_vi.c | 15 ++----
src/fdstream.c | 2 -
src/libvirt_private.syms | 7 ++-
src/libxl/libxl_driver.c | 2 -
src/locking/lock_daemon.c | 5 --
src/node_device/node_device_udev.c | 1 -
src/nwfilter/nwfilter_learnipaddr.c | 2 -
src/parallels/parallels_driver.c | 5 +-
src/qemu/qemu_agent.c | 2 -
src/qemu/qemu_capabilities.c | 2 -
src/qemu/qemu_driver.c | 1 -
src/qemu/qemu_monitor.c | 6 +--
src/remote/remote_driver.c | 2 -
src/rpc/virnetclient.c | 5 +-
src/test/test_driver.c | 4 --
src/util/vireventpoll.c | 5 +-
src/util/virlockspace.c | 4 --
src/util/virobject.c | 2 -
src/util/virthread.c | 95 ++++++++++++++++++-------------------
src/util/virthread.h | 57 +++++++++++++++++-----
src/xen/xen_driver.c | 2 -
tests/commandtest.c | 4 +-
tests/qemumonitortestutils.c | 2 -
31 files changed, 103 insertions(+), 144 deletions(-)
--
1.8.3.1
10 years, 10 months
[libvirt] [PATCH] Fix build after 47e5b5ae3262f140955abd57bbb13337c65a3497
by Peter Krempa
The patch described above introduced two problems caught by the compiler
and thus breaking the build.
One of the problems was comparison of unsigned with < 0 and the second
one jumped a variable init.
---
src/lxc/lxc_cgroup.c | 2 +-
src/lxc/lxc_container.c | 74 ++++++++++++++++++++++++-------------------------
2 files changed, 38 insertions(+), 38 deletions(-)
diff --git a/src/lxc/lxc_cgroup.c b/src/lxc/lxc_cgroup.c
index 572caca..1e96d72 100644
--- a/src/lxc/lxc_cgroup.c
+++ b/src/lxc/lxc_cgroup.c
@@ -337,6 +337,7 @@ virLXCTeardownHostUSBDeviceCgroup(virUSBDevicePtr dev ATTRIBUTE_UNUSED,
static int virLXCCgroupSetupDeviceACL(virDomainDefPtr def,
virCgroupPtr cgroup)
{
+ int capMknod = def->caps_features[VIR_DOMAIN_CAPS_FEATURE_MKNOD];
int ret = -1;
size_t i;
static virLXCCgroupDevicePolicy devices[] = {
@@ -354,7 +355,6 @@ static int virLXCCgroupSetupDeviceACL(virDomainDefPtr def,
goto cleanup;
/* white list mknod if CAP_MKNOD has to be kept */
- int capMknod = def->caps_features[VIR_DOMAIN_CAPS_FEATURE_MKNOD];
if (capMknod == VIR_DOMAIN_FEATURE_STATE_ON) {
if (virCgroupAllowAllDevices(cgroup,
VIR_CGROUP_DEVICE_MKNOD) < 0)
diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c
index 49028be..81ef961 100644
--- a/src/lxc/lxc_container.c
+++ b/src/lxc/lxc_container.c
@@ -1899,43 +1899,43 @@ static int lxcContainerDropCapabilities(virDomainDefPtr def,
int policy = def->features[VIR_DOMAIN_FEATURE_CAPABILITIES];
/* Maps virDomainCapsFeature to CAPS_* */
- static unsigned int capsMapping[] = {CAP_AUDIT_CONTROL,
- CAP_AUDIT_WRITE,
- CAP_BLOCK_SUSPEND,
- CAP_CHOWN,
- CAP_DAC_OVERRIDE,
- CAP_DAC_READ_SEARCH,
- CAP_FOWNER,
- CAP_FSETID,
- CAP_IPC_LOCK,
- CAP_IPC_OWNER,
- CAP_KILL,
- CAP_LEASE,
- CAP_LINUX_IMMUTABLE,
- CAP_MAC_ADMIN,
- CAP_MAC_OVERRIDE,
- CAP_MKNOD,
- CAP_NET_ADMIN,
- CAP_NET_BIND_SERVICE,
- CAP_NET_BROADCAST,
- CAP_NET_RAW,
- CAP_SETGID,
- CAP_SETFCAP,
- CAP_SETPCAP,
- CAP_SETUID,
- CAP_SYS_ADMIN,
- CAP_SYS_BOOT,
- CAP_SYS_CHROOT,
- CAP_SYS_MODULE,
- CAP_SYS_NICE,
- CAP_SYS_PACCT,
- CAP_SYS_PTRACE,
- CAP_SYS_RAWIO,
- CAP_SYS_RESOURCE,
- CAP_SYS_TIME,
- CAP_SYS_TTY_CONFIG,
- CAP_SYSLOG,
- CAP_WAKE_ALARM};
+ static int capsMapping[] = {CAP_AUDIT_CONTROL,
+ CAP_AUDIT_WRITE,
+ CAP_BLOCK_SUSPEND,
+ CAP_CHOWN,
+ CAP_DAC_OVERRIDE,
+ CAP_DAC_READ_SEARCH,
+ CAP_FOWNER,
+ CAP_FSETID,
+ CAP_IPC_LOCK,
+ CAP_IPC_OWNER,
+ CAP_KILL,
+ CAP_LEASE,
+ CAP_LINUX_IMMUTABLE,
+ CAP_MAC_ADMIN,
+ CAP_MAC_OVERRIDE,
+ CAP_MKNOD,
+ CAP_NET_ADMIN,
+ CAP_NET_BIND_SERVICE,
+ CAP_NET_BROADCAST,
+ CAP_NET_RAW,
+ CAP_SETGID,
+ CAP_SETFCAP,
+ CAP_SETPCAP,
+ CAP_SETUID,
+ CAP_SYS_ADMIN,
+ CAP_SYS_BOOT,
+ CAP_SYS_CHROOT,
+ CAP_SYS_MODULE,
+ CAP_SYS_NICE,
+ CAP_SYS_PACCT,
+ CAP_SYS_PTRACE,
+ CAP_SYS_RAWIO,
+ CAP_SYS_RESOURCE,
+ CAP_SYS_TIME,
+ CAP_SYS_TTY_CONFIG,
+ CAP_SYSLOG,
+ CAP_WAKE_ALARM};
capng_get_caps_process();
--
2.0.0
10 years, 10 months
[libvirt] [PATCH] LXC: show used memory as 0 when domain is not active
by Chen Hanxiao
Before:
virsh # dominfo chx3
State: shut off
Max memory: 92160 KiB
Used memory: 92160 KiB
After:
virsh # dominfo container1
State: shut off
Max memory: 92160 KiB
Used memory: 0 KiB
Similar to qemu cases.
Signed-off-by: Chen Hanxiao <chenhanxiao(a)cn.fujitsu.com>
---
src/lxc/lxc_driver.c | 2 +-
src/qemu/qemu_driver.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c
index b7b4b02..f094f86 100644
--- a/src/lxc/lxc_driver.c
+++ b/src/lxc/lxc_driver.c
@@ -584,7 +584,7 @@ static int lxcDomainGetInfo(virDomainPtr dom,
if (!virDomainObjIsActive(vm)) {
info->cpuTime = 0;
- info->memory = vm->def->mem.cur_balloon;
+ info->memory = 0;
} else {
if (virCgroupGetCpuacctUsage(priv->cgroup, &(info->cpuTime)) < 0) {
virReportError(VIR_ERR_OPERATION_FAILED,
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 33541d3..01107cf 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -2534,7 +2534,7 @@ static int qemuDomainGetInfo(virDomainPtr dom,
info->memory = vm->def->mem.cur_balloon;
}
} else {
- info->memory = vm->def->mem.cur_balloon;
+ info->memory = 0;
}
info->nrVirtCpu = vm->def->vcpus;
--
1.9.0
10 years, 10 months
[libvirt] [libvirt-python PATCH] Bump version to 1.2.7 for new dev cycle
by Martin Kletzander
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
Notes:
pretty late, but pushed as trivial
setup.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/setup.py b/setup.py
index 4e889da..334d7b2 100755
--- a/setup.py
+++ b/setup.py
@@ -309,7 +309,7 @@ class my_clean(clean):
_c_modules, _py_modules = get_module_lists()
setup(name = 'libvirt-python',
- version = '1.2.6',
+ version = '1.2.7',
url = 'http://www.libvirt.org',
maintainer = 'Libvirt Maintainers',
maintainer_email = 'libvir-list(a)redhat.com',
--
2.0.2
10 years, 11 months
[libvirt] [PATCH v1 0/7] Hugepages wrt to NUMA
by Michal Privoznik
Up to now, domains are either backed by an arbitrary huge page but without any
NUMA awareness. This is suboptimal and I'm trying to fix it.
Michal Privoznik (7):
configure: Check for statfs
Introduce virFileFindHugeTLBFS
qemu: Utilize virFileFindHugeTLBFS
virbitmap: Introduce virBitmapDoesIntersect
domain: Introduce ./hugepages/page/[@size,@unit,@nodeset]
qemu: Implement ./hugepages/page/[@size,@unit,@nodeset]
tests: Some testing of hugepages mapping
configure.ac | 4 +-
docs/formatdomain.html.in | 18 +-
docs/schemas/domaincommon.rng | 19 +-
src/Makefile.am | 1 +
src/conf/domain_conf.c | 197 +++++++++++++++++++--
src/conf/domain_conf.h | 13 +-
src/libvirt_private.syms | 2 +
src/parallels/parallels_driver.c | 2 +-
src/qemu/qemu_capabilities.c | 2 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 111 ++++++++++--
src/qemu/qemu_conf.c | 124 +++++++++++--
src/qemu/qemu_conf.h | 9 +-
src/qemu/qemu_driver.c | 39 ++--
src/qemu/qemu_process.c | 21 ++-
src/util/virbitmap.c | 20 +++
src/util/virbitmap.h | 3 +
src/util/virfile.c | 176 +++++++++++++++++-
src/util/virfile.h | 12 ++
.../qemuxml2argv-hugepages-pages.args | 16 ++
.../qemuxml2argv-hugepages-pages.xml | 45 +++++
.../qemuxml2argv-hugepages-pages2.args | 10 ++
.../qemuxml2argv-hugepages-pages2.xml | 38 ++++
.../qemuxml2argv-hugepages-pages3.args | 9 +
.../qemuxml2argv-hugepages-pages3.xml | 38 ++++
tests/qemuxml2argvdata/qemuxml2argv-hugepages.args | 2 +-
tests/qemuxml2argvtest.c | 18 +-
tests/qemuxml2xmltest.c | 3 +
tests/virbitmaptest.c | 26 +++
29 files changed, 884 insertions(+), 95 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages2.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages2.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages3.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages3.xml
--
1.8.5.5
10 years, 11 months