On 01/18/2012 08:07 PM, Wen Congyang wrote: > Signed-off-by: Wen Congyang <we...@cn.fujitsu.com> > --- > Makefile.target | 8 +- > dump.c | 590 > ++++++++++++++++++++++++++++++++++++++++++++++++++++++ > dump.h | 3 + > hmp-commands.hx | 16 ++ > hmp.c | 9 + > hmp.h | 1 + > monitor.c | 3 + > qapi-schema.json | 13 ++ > qmp-commands.hx | 26 +++ > 9 files changed, 665 insertions(+), 4 deletions(-) > create mode 100644 dump.c >
> +void qmp_dump(const char *file, Error **errp) > +{ > + const char *p; > + int fd = -1; > + DumpState *s; > + > +#if !defined(WIN32) > + if (strstart(file, "fd:", &p)) { > + fd = qemu_get_fd(p); > + if (fd == -1) { > + error_set(errp, QERR_FD_NOT_FOUND, p); > + return; > + } > + } > +#endif Thanks for implementing fd support off the bat. > + > + if (strstart(file, "file:", &p)) { > + fd = open(p, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY); Use of O_CREAT requires that you pass a third argument to open() specifying the mode_t to use. > +++ b/hmp-commands.hx > @@ -828,6 +828,22 @@ new parameters (if specified) once the vm migration > finished successfully. > ETEXI > > { > + .name = "dump", > + .args_type = "file:s", > + .params = "file", > + .help = "dump to file", > + .user_print = monitor_user_noop, > + .mhandler.cmd = hmp_dump, > + }, What if I want to dump only a fraction of the memory? I think you need optional start and length parameters, to limit how much memory to be dumped, rather than forcing me to dump all memory at once. -- Eric Blake ebl...@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature