qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v9 00/14] Make 'dump-guest-memory' dump in kdump-com


From: qiaonuohan
Subject: [Qemu-devel] [PATCH v9 00/14] Make 'dump-guest-memory' dump in kdump-compressed format
Date: Tue, 18 Feb 2014 14:11:24 +0800

Hi, all

The last version is here:
http://lists.nongnu.org/archive/html/qemu-devel/2014-01/msg03669.html

Command 'dump-guest-memory' was introduced to dump guest's memory. But the
vmcore's format is only elf32 or elf64. The message is here:
http://lists.gnu.org/archive/html/qemu-devel/2012-04/msg03379.html

Compared with migration, the missing of compression feature means regression
to 'dump-guest-memory'. So we post these patches to make 'dump-guest-memory' be
able to dump guest's in kdump-compressed format. Then vmcore can be much
smaller, and easily to be delivered.

The kdump-compressed format is *linux specific* *linux standard* crash dump
format used in kdump framework. The kdump-compressed format is readable only
with the crash utility, and it can be smaller than the ELF format because of
the compression support. To get more detailed information about
kdump-compressed format, please refer to the following URL:
http://sourceforge.net/projects/makedumpfile/

Note:
1. The guest should be x86/x86_64/s390x. The other arch is not supported now.
2. If the OS is in the second kernel, gdb may not work well, and crash can
   work by specifying '--machdep phys_addr=xxx' in the command line. The
   reason is that the second kernel will update the page table, and we can
   not get the page table for the first kernel.
3. The cpu's state is stored in QEMU note.
4. The vmcore are able to be compressed with zlib, lzo or snappy. zlib is
   available by default, and option '--enable-lzo' or '--enable-snappy'
   should be specified with 'configure' to make lzo or snappy available.

Changelog:
Changes from v8 to v9:
1. add Ekaterina's patch(support s390x) into series
2. modify query-dump-guest-memory-capability according to Paolo Bonzini's
   suggestion
3. fix compiling error on 32-bit host

Changes from v7 to v8:
1. rebase get_max_mapnr()
2. fix bug of using dh->block_size directly in create_header64()
3. abandon using static variables in get_next_page()
4. redefine 'struct PageDesc' to 'struct QEMU_PACKED PageDescriptor'
5. add return when format checking fails
Changes from v6 to v7:
1. support BE host
2. abandon non-flatten format to avoid using seek on vmcore
3. abandon using of very large array
4. use get_next_page to replace the iteration of guest's pages
5. abandon the support of HMP

Changes from v5 to v6:
1. add run-time check for compression format(lzo/snappy)
2. address Stefan's comments about reusing code and coding style
3. update the version of kdump-compressed format to 6th
4. resplit the patches
5. Add 'query-dump-guest-memory-capability' command

Changes from v4 to v5:
1. using flatten format to avoid using temporary files according to Stefan's
   comments
2. Address Andreas's comments about coding style

Changes from v3 to v4:
1. change to avoid conflict with Andreas's patches
2. rebase

Changes from v2 to v3:
1. Address Eric's comment

Changes from v1 to v2:
1. Address Eric & Daniel's comment: fix manner of string copy.
2. Address Eric's comment: replace reinventing new constants by using the
   ready-made ones accoring.
3. Address Andreas's comment: remove useless include.

qiaonuohan (14):
  dump: const-qualify the buf of WriteCoreDumpFunction
  dump: add argument to write_elfxx_notes
  dump: add API to write header of flatten format
  dump: add API to write vmcore
  dump: add API to write elf notes to buffer
  dump: add support for lzo/snappy
  dump: add members to DumpState and init some of them
  dump: add API to write dump header
  dump: add API to write dump_bitmap
  dump: add APIs to operate DataCache
  dump: add API to write dump pages
  dump: make kdump-compressed format available for 'dump-guest-memory'
  Define the architecture for compressed dump format
  dump: add 'query-dump-guest-memory-capability' command

 configure             |   54 +++
 dump.c                |  960 ++++++++++++++++++++++++++++++++++++++++++++++++-
 hmp.c                 |    5 +-
 include/qom/cpu.h     |    3 +-
 include/sysemu/dump.h |  138 +++++++
 qapi-schema.json      |   49 +++-
 qmp-commands.hx       |   27 ++-
 target-i386/cpu.h     |    2 +
 target-s390x/cpu.h    |    1 +
 9 files changed, 1219 insertions(+), 20 deletions(-)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]