Hello all, This is the second version of my patch series about the kdump format, you can see the first version here [1].
The current output format for dump-guest-memory's kdump compressed format is actually the "makedumpfile flattened" format. It was done intentionally to allow the flexibility to write to non-seekable file descriptors, like pipes [2], without using temporary files. Currently libvirt uses this ability when VIR_DUMP_BYPASS_CACHE flag is set, to avoid the dump process using page cache. The standard kdump output format needs the page cache so that it can seek back and forth as part of writing the dump file. So the default kdump dump format cannot be changed to the standard format. This patch series adds the ability to use the standard format, and adds a QMP / HMP argument to enable it. An open question for Daniel et al.: Would it be possible to make flattened the default only for libvirt? I totally agree that this would be a bad backward incompatible change there. But for QMP / HMP commands, I think using the standard, broadly compatible format as the default is important for user friendliness. If a user needs to know the difference between flavors of kdump formats like the flattened format, in order to set the correct option, then we've already lost. Changes from v1 to v2: - Keep the default as the flattened format - Add QMP / HMP arguments for "reassembled" [1]: https://lore.kernel.org/qemu-devel/20230717163855.7383-1-stephen.s.bren...@oracle.com/ [2]: https://lore.kernel.org/qemu-devel/1390890126-17377-1-git-send-email-qiaonuo...@cn.fujitsu.com/ -> see "changes from v4 to v5" in this patch Stephen Brennan (3): dump: Pass DumpState to write_ functions dump: Allow directly outputting reassembled kdumps dump: Add qmp argument "reassembled" dump/dump-hmp-cmds.c | 8 +++- dump/dump.c | 86 ++++++++++++++++++++++++++++++------------- hmp-commands.hx | 7 +++- include/sysemu/dump.h | 3 +- qapi/dump.json | 14 ++++++- 5 files changed, 87 insertions(+), 31 deletions(-) -- 2.39.3