On Tue, Feb 25, 2014 at 17:54:30 +0800, Qiao Nuohan wrote: > --memory-only option is introduced without compression supported. Therefore, > this is a freature regression of virsh dump. Now qemu has support dumping memory > in kdump-compressed format. This patch is used to add "--compress" and > "[--compression-format] <string>" to "virsh dump --memory-only" and send > dump-guest-memory command to qemu with dump format specified to one of elf, > kdump-zlib, kdump-lzo and kdump-snappy. > > Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx> > --- > include/libvirt/libvirt.h.in | 15 ++++++++++++++- > src/driver.h | 3 ++- > src/libvirt.c | 10 ++++++++-- > src/qemu/qemu_driver.c | 30 +++++++++++++++++++++-------- > src/qemu/qemu_monitor.c | 6 +++--- > src/qemu/qemu_monitor.h | 3 ++- > src/qemu/qemu_monitor_json.c | 4 +++- > src/qemu/qemu_monitor_json.h | 3 ++- > src/remote/remote_protocol.x | 1 + > src/test/test_driver.c | 12 +++++++++++- > tests/qemumonitorjsontest.c | 2 +- > tools/virsh-domain.c | 45 +++++++++++++++++++++++++++++++++++++++++++- > 12 files changed, 113 insertions(+), 21 deletions(-) > > diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in > index 295d551..aae3c49 100644 > --- a/include/libvirt/libvirt.h.in > +++ b/include/libvirt/libvirt.h.in > @@ -1180,6 +1180,18 @@ typedef enum { > VIR_DUMP_MEMORY_ONLY = (1 << 4), /* use dump-guest-memory */ > } virDomainCoreDumpFlags; > > +typedef enum { > + VIR_MEMORY_DUMP_COMPRESS_ZLIB = 1, /* dump guest memory in > + kdump-compressed format, with > + zlib-compressed */ > + VIR_MEMORY_DUMP_COMPRESS_LZO = 2, /* dump guest memory in > + kdump-compressed format, with > + lzo-compressed */ > + VIR_MEMORY_DUMP_COMPRESS_SNAPPY = 3, /* dump guest memory in > + kdump-compressed format, with > + snappy-compressed */ > +} virMemoryDumpFormat; > + > /* Domain migration flags. */ > typedef enum { > VIR_MIGRATE_LIVE = (1 << 0), /* live migration */ > @@ -1728,7 +1740,8 @@ int > virDomainManagedSaveRemove(virDomainPtr dom, > */ > int virDomainCoreDump (virDomainPtr domain, > const char *to, > - unsigned int flags); > + unsigned int flags, > + const unsigned int > memory_dump_format); This is not allowed and I believe "make syntax-check" should fail on the corresponding change to remote_protocol.x. If you want to add a new parameter to an existing API, you have keep the API as is and instead create a new API with a different name that will have all the parameters you need. Jirka -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list