On 15.08.2012 11:25, Martin Kletzander wrote:
Sometimes when guest machine crashes, coredump can get huge due to
the
guest memory. This can be limited using madvise(2) system call and is
being used in QEMU hypervisor. This patch adds an option for configuring
that in the domain XML.
---
docs/schemas/domaincommon.rng | 8 ++++++++
src/conf/domain_conf.c | 19 ++++++++++++++++++-
src/conf/domain_conf.h | 10 ++++++++++
src/libvirt_private.syms | 2 ++
4 files changed, 38 insertions(+), 1 deletions(-)
Even though I'd like to see XML extension and it's documentation in one
patch, I am okay with that being a separate one.
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index f8fe8b5..4944d0f 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -376,6 +376,11 @@ VIR_ENUM_IMPL(virDomainSoundModel, VIR_DOMAIN_SOUND_MODEL_LAST,
"ac97",
"ich6")
+VIR_ENUM_IMPL(virDomainMemDump, VIR_DOMAIN_MEM_DUMP_LAST,
+ "default",
+ "on",
+ "off")
+
VIR_ENUM_IMPL(virDomainMemballoonModel, VIR_DOMAIN_MEMBALLOON_MODEL_LAST,
"virtio",
"xen",
@@ -8081,6 +8086,13 @@ static virDomainDefPtr virDomainDefParseXML(virCapsPtr caps,
&def->mem.cur_balloon, false) < 0)
goto error;
+ /* and info about it */
+ tmp = virXPathString("string(./memory[1]/@dump-core)", ctxt);
+ if (tmp) {
+ def->mem.dump_core = virDomainMemDumpTypeFromString(tmp);
should we silently ignore unknown values?
+ VIR_FREE(tmp);
+ }
+
if (def->mem.cur_balloon > def->mem.max_balloon) {
/* Older libvirt could get into this situation due to
* rounding; if the discrepancy is less than 1MiB, we silently
ACK modulo silent ignoring.
Michal