Add a new parameter --memory-only for 'virsh dump' command. So
the user can decide the vmcore's format.
---
tools/virsh.c | 3 +++
tools/virsh.pod | 5 ++++-
2 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/tools/virsh.c b/tools/virsh.c
index 6168a13..c1e8891 100644
--- a/tools/virsh.c
+++ b/tools/virsh.c
@@ -3982,6 +3982,7 @@ static const vshCmdOptDef opts_dump[] = {
{"domain", VSH_OT_DATA, VSH_OFLAG_REQ, N_("domain name, id or
uuid")},
{"file", VSH_OT_DATA, VSH_OFLAG_REQ, N_("where to dump the
core")},
{"verbose", VSH_OT_BOOL, 0, N_("display the progress of dump")},
+ {"memory-only", VSH_OT_BOOL, 0, N_("dump domain's memory
only")},
{NULL, 0, 0, NULL}
};
@@ -4020,6 +4021,8 @@ doDump(void *opaque)
flags |= VIR_DUMP_BYPASS_CACHE;
if (vshCommandOptBool(cmd, "reset"))
flags |= VIR_DUMP_RESET;
+ if (vshCommandOptBool(cmd, "memory-only"))
+ flags |= VIR_DUMP_MEMORY_ONLY;
if (virDomainCoreDump(dom, to, flags) < 0) {
vshError(ctl, _("Failed to core dump domain %s to %s"), name, to);
diff --git a/tools/virsh.pod b/tools/virsh.pod
index ca5c853..9378714 100644
--- a/tools/virsh.pod
+++ b/tools/virsh.pod
@@ -784,7 +784,7 @@ the I<format> argument must be B<qemu-argv>. For Xen
hypervisor, the
I<format> argument may be B<xen-xm> or B<xen-sxpr>.
=item B<dump> I<domain-id> I<corefilepath> [I<--bypass-cache>]
-{ [I<--live>] | [I<--crash>] | [I<--reset>] } [I<--verbose>]
+{ [I<--live>] | [I<--crash>] | [I<--reset>] } [I<--verbose>]
[I<--memory-only>]
Dumps the core of a domain to a file for analysis.
If I<--live> is specified, the domain continues to run until the core
@@ -795,6 +795,9 @@ If I<--reset> is specified, the domain is reset after successful
dump.
Note, these three switches are mutually exclusive.
If I<--bypass-cache> is specified, the save will avoid the file system
cache, although this may slow down the operation.
+If I<--memory-only> is specified, the file is elf file, and will only
+include domain's memory and cpu common register value. It is very
+useful if the domain uses host devices directly.
The progress may be monitored using B<domjobinfo> virsh command and canceled
with B<domjobabort> command (sent by another virsh instance). Another option
--
1.7.1