On 05/23/2012 11:17 AM, Wen Congyang wrote: > At 05/23/2012 04:56 PM, Martin Kletzander Wrote: >> On 04/20/2012 09:27 AM, Wen Congyang wrote: >>> dump-guest-memory is a new dump mechanism, and it can work when the >>> guest uses host devices. This patch adds a API to use this new >>> monitor command. >>> >>> --- >>> src/qemu/qemu_monitor.c | 38 ++++++++++++++++++++++++++++++++++++++ >>> src/qemu/qemu_monitor.h | 12 ++++++++++++ >>> src/qemu/qemu_monitor_json.c | 34 ++++++++++++++++++++++++++++++++++ >>> src/qemu/qemu_monitor_json.h | 6 ++++++ >>> 4 files changed, 90 insertions(+), 0 deletions(-) >>> >>> diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c >>> index 2f66c46..a5d3eec 100644 >>> --- a/src/qemu/qemu_monitor.c >>> +++ b/src/qemu/qemu_monitor.c >>> @@ -2018,6 +2018,44 @@ int qemuMonitorMigrateCancel(qemuMonitorPtr mon) >>> return ret; >>> } >>> >>> +int qemuMonitorDumpToFd(qemuMonitorPtr mon, >>> + unsigned int flags, >>> + int fd, >>> + unsigned long long begin, >>> + unsigned long long length) >>> +{ >>> + int ret; >>> + VIR_DEBUG("mon=%p fd=%d flags=%x begin=%llx length=%llx", >>> + mon, fd, flags, begin, length); >>> + >>> + if (!mon) { >>> + qemuReportError(VIR_ERR_INVALID_ARG, "%s", >>> + _("monitor must not be NULL")); >>> + return -1; >>> + } >>> + >>> + if (!mon->json) { >>> + /* dump-guest-memory is supported after qemu-1.0, and we always use json >>> + * if qemu's version is >= 0.15. So if we use text mode, the qemu is >>> + * old, and it does not support dump-guest-memory. >>> + */ >>> + qemuReportError(VIR_ERR_NO_SUPPORT, "%s", >>> + _("dump-guest-memory is not supported in text mode")); >>> + return -1; >>> + } >> >> Correct me if I'm wrong, but shouldn't this be rather handled by adding >> it as a qemu capability? Maybe by checking the qemu version in >> qemuCapsComputeCmdFlags()? Or probably even better by checking that >> command in qemuCapsComputeCmdFlags(). That way we can be sure that the >> command is supported. >> > > If mon->json is false, we use the text mode, so the qemu's version is < 0.15. > The dump-guest-memory is supported after qemu-1.0. So we can say that the > qemu does not support dump-guest-memory if mon->json is false. > > Thanks > Wen Congyang Yes, that's true, but on the other hand we cannot say it supports dump-guest-memory just because we are using JSON. For example for qemu-0.15, we'll use JSON, but the command will not be supported. Regards, Martin -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list