Hi all,
makedumpfile may produce an incomplete dump if interrupted early or in
case if an unrecoverable I/O error happens during the execution of
makedumpfile. As of now crash begins analysis of such incomplete dump
and fails in some misleading way.
The series helps crash to avoid going too far with incomplete dumps
while provides means to localize how much data is lost in the core.
Changes since v2
(
https://listman.redhat.com/archives/crash-utility/2021-June/msg00066.html):
- Fixed up messed up printf format specifiers in the last patch
- Fixed warning condition in the last patch to rely only on comparison
of the expected size and the actual dump size. The expected size is
increased by the page size if we hit incomplete/empty page descriptor.
Therefore the expected size for incomplete dumps is going to be strictly
higher than the actual file size.
Changes since v1
(
https://listman.redhat.com/archives/crash-utility/2021-June/msg00009.html):
- Fixed stale comments (Lianbo)
- Enabled --zero_excluded for ELF dumps (Kazu)
- Dropped dd->total_valid_pages in the second patch (which became patch
3 in the series) and instead introduced dd->max_sect_len to access
total valid pages from the last bucket in dd->valid_pages array.
- Added an explicit warning for incomplete compressed kdumps.
Thanks,
Roman
Roman Bolshakov (5):
diskdump: Fail readmem() early if dump is incomplete
netdump: Permit --zero_excluded for incomplete ELF dumps
diskdump: Print total number of dumpable pages
diskdump: Introduce read_pd()
diskdump: Warn on incomplete dumps
defs.h | 1 +
diskdump.c | 123 ++++++++++++++++++++++++++++++++++++++++++++++-------
memory.c | 7 +++
netdump.c | 5 +--
4 files changed, 117 insertions(+), 19 deletions(-)
--
2.32.0