[libvirt] [PATCH v4 2/3] add qemu support to virDomainCoreDumpWithFormat API

qiaonuohan at cn.fujitsu.com qiaonuohan at cn.fujitsu.com
Wed Mar 5 12:08:09 UTC 2014


On 03/04/2014 07:44 PM, Daniel P. Berrange wrote:
> On Mon, Mar 03, 2014 at 10:27:25AM +0800, qiaonuohan wrote:
>> >  This patch makes qemu driver supprot virDomainCoreDumpWithFormat API.
>> >  ---
>> >    src/qemu/qemu_driver.c       | 45 +++++++++++++++++++++++++++++++++++---------
>> >    src/qemu/qemu_monitor.c      |  7 ++++---
>> >    src/qemu/qemu_monitor.h      |  3 ++-
>> >    src/qemu/qemu_monitor_json.c |  4 +++-
>> >    src/qemu/qemu_monitor_json.h |  3 ++-
>> >    tests/qemumonitorjsontest.c  |  2 +-
>> >    6 files changed, 48 insertions(+), 16 deletions(-)
>> >
>> >  diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
>> >  index c9a865e..f373f7c 100644
>> >  --- a/src/qemu/qemu_driver.c
>> >  +++ b/src/qemu/qemu_driver.c
>> >  @@ -3452,7 +3455,20 @@ doCoreDump(virQEMUDriverPtr driver,
>> >            goto cleanup;
>> >
>> >        if (dump_flags&  VIR_DUMP_MEMORY_ONLY) {
>> >  -        ret = qemuDumpToFd(driver, vm, fd, QEMU_ASYNC_JOB_DUMP);
>> >  +        if (dumpformat == VIR_DUMP_FORMAT_RAW)
>> >  +            memory_dump_format = "elf";
>> >  +        else if (dumpformat == VIR_DUMP_FORMAT_KDUMP_ZLIB)
>> >  +            memory_dump_format = "kdump-zlib";
>> >  +        else if (dumpformat == VIR_DUMP_FORMAT_KDUMP_LZO)
>> >  +            memory_dump_format = "kdump-lzo";
>> >  +        else if (dumpformat == VIR_DUMP_FORMAT_KDUMP_SNAPPY)
>> >  +            memory_dump_format = "kdump-snappy";
>> >  +        else {
>> >  +            virReportError(VIR_ERR_INVALID_ARG,
>> >  +                           _("unknown dumpformat '%d'"), dumpformat);
>> >  +        }
>> >  +        ret = qemuDumpToFd(driver, vm, fd, QEMU_ASYNC_JOB_DUMP,
>> >  +                           memory_dump_format);
>> >        } else {
>> >            ret = qemuMigrationToFile(driver, vm, fd, 0, path,
>> >                                      qemuCompressProgramName(compress), false,
> The else branch here should raise VIR_ERR_OPERATION_UNSUPPORTED
> if dumpformat != VIR_DUMP_FORMAT_RAW
>

So here is the place I should do the "implmentation restriction"(mentioned in
your last mail), then VIR_DUMP_FORMAT_RAW is the only choice when
VIR_DUMP_MEMORY_ONLY is not specified.

-- 
Regards
Qiao Nuohan




More information about the libvir-list mailing list