[PATCH 2/2] makedumpfile: Add description of incomplete dump file
Zhou Wenjian
zhouwj-fnst at cn.fujitsu.com
Thu Nov 13 22:55:01 PST 2014
Add description of incomplete elf and kdump-compressed dump file
in IMPLEMENTATION.
Signed-off-by: Qiao Nuohan <qiaonuohan at cn.fujitsu.com>
Signed-off-by: Zhou Wenjian <zhouwj-fnst at cn.fujitsu.com>
---
IMPLEMENTATION | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 76 insertions(+), 0 deletions(-)
diff --git a/IMPLEMENTATION b/IMPLEMENTATION
index 0e5ad1f..0c735db 100644
--- a/IMPLEMENTATION
+++ b/IMPLEMENTATION
@@ -200,3 +200,79 @@
- segments
The data dumped are all stored in segments and notes.
+
+
+* The incomplete DUMPFILE
+ When generating DUMPFILE, if ENOSPACE error happens, the DUMPFILE will be
+ incomplete.
+
+ - The incomplete kdump-compressed DUMPFILE
+
+ the complete the incomplete
+ +-----------------------+ +-----------------------+
+ | main header | | main header | have incomplete flag
+ |-----------------------+ |-----------------------+
+ | sub header | | sub header |
+ |-----------------------+ |-----------------------+
+ | 1st-bitmap | | 1st-bitmap |
+ |-----------------------+ |-----------------------+
+ | 2nd-bitmap | | 2nd-bitmap |
+ |-----------------------+ |-----------------------+
+ | page header for pfn 0 | | page header for pfn 0 |
+ | page header for pfn 1 | | page header for pfn 1 |
+ | : | | : |
+ | page header for pfn N | | page header for pfn N | The page headers after
+ | : | | | N don't exist. The
+ | page header for pfn Z | | | value of it is zero,
+ |-----------------------| |-----------------------| when try to read it.
+ | page data (pfn 0) | | page data (pfn 0) |
+ | page data (pfn 1) | | page data (pfn 1) |
+ | : | | : |
+ | page data (pfn N) | | page data (pfn N) |
+ | : | +-----------------------+
+ | page data (pfn Z) |
+ +-----------------------+
+
+ The incomplete flag is set into status of disk_dump_header by
+ status |= DUMP_DH_COMPRESSED_INCOMPLETE
+ DUMP_DH_COMPRESSED_INCOMPLETE : 0x8
+
+ The page header and page data are written in pairs. When writing page data
+ (pfn N+1), if ENOSPACE error happens, the page headers after N won't be
+ written either.
+
+ If there is no page data dumped into the DUMPFILE, the DUMPFILE can't be
+ analysed by crash.
+
+ - The incomplete elf DUMPFILE
+
+ the complete the incomplete
+ +-------------+ +-------------+
+ | elf header | | elf header | have incomplete flag
+ |-------------+ |-------------+
+ | PT_NOTE | | PT_NOTE |
+ | PT_LOAD(1) | | PT_LOAD(1) |
+ | : | | : |
+ | PT_LOAD(N) | | PT_LOAD(N) | The PT_LOAD after N don't exist.
+ | : | | | The value of it is zero, when try
+ | PT_LOAD(Z) | | | to read it.
+ |-------------+ |-------------+
+ | NOTE | | NOTE |
+ |-------------+ |-------------+
+ | segment(1) | | segment(1) |
+ | : | | : |
+ | segment(N) | | segment(N) | The segment(N) is incomplete.
+ | : | +-------------+ The segments after N don't exist.
+ | segment(Z) |
+ +-------------+
+
+ The incomplete flag is set into e_flags of elf_header by
+ e_flags |= DUMP_ELF_INCOMPLETE
+ DUMP_ELF_INCOMPLETE : 0x1
+
+ The PT_LOAD and segment are written in pairs. When writing segment(N)
+ , if ENOSPACE error happens, the PT_LOAD after N won't be written
+ either.
+
+ If there is no segment dumped into the DUMPFILE, the DUMPFILE can't be
+ analysed by crash.
--
1.7.1
More information about the kexec
mailing list