On 7/7/26 09:48, Denis V. Lunev wrote:
> This email originated from an IP that might not be authorized by the domain 
> it was sent from.
> Do not click links or open attachments unless it is an email you expected to 
> receive.
> Auto-triggered dumps (on_crash, watchdog) always use QEMU's elf
> default, which is not WinDbg-loadable for a Windows guest and cannot
> be reliably converted after the fact.
>
> This was proposed before as a per-domain XML knob
> (https://www.mail-archive.com/[email protected]/msg09638.html).
> Daniel P. Berrange objected: QEMU's query-dump-guest-memory-capability
> reported win-dmp as available on any x86-64 guest regardless of
> whether it had actually published a Windows dump header, so trusting
> it was not safe. QEMU's win_dump_available() has since been fixed to
> check the guest's vmcoreinfo note
> (https://lore.kernel.org/qemu-devel/[email protected]/,
> commit b4bdad7dce). Patch 1 queries it directly instead of adding an
> XML knob.
>
> Patch 4 adds a quota (auto_dump_max_size): a guest that keeps
> crashing otherwise fills auto_dump_path one dump at a time. Oldest
> dumps are pruned after each new one; the dump just written is never
> removed, even alone over quota. Patches 2-3 give that setting and
> virtlogd's max_size a "10GiB"-style syntax instead of a raw byte
> count, reusing virScaleInteger()'s existing unit table.
>
> Validated against real guests: a Windows Server 2022 guest crashed
> via Sysinternals NotMyFault produces a PAGEDU64 (win-dmp) dump; an
> AlmaLinux 9 guest crashed via sysrq produces an ELF one. A 1GiB quota
> across two Linux crashes pruned the older dump and kept the newer,
> over-quota one. syntax-check and virstringtest pass.
>
> Denis V. Lunev (4):
>   qemu: auto-select win-dmp for crash- and watchdog-triggered dumps
>   util: add virStrToBytes() and virConfGetValueBytes() for scaled sizes
>   logging: accept a unit suffix in virtlogd's max_size
>   qemu: cap total size of auto-triggered dumps under auto_dump_path
>
>  src/libvirt_private.syms        |   2 +
>  src/logging/log_daemon_config.c |   2 +-
>  src/logging/log_daemon_config.h |   2 +-
>  src/logging/virtlogd.conf       |   7 +-
>  src/qemu/qemu.conf.in           |  16 ++++
>  src/qemu/qemu_conf.c            |   2 +
>  src/qemu/qemu_conf.h            |   1 +
>  src/qemu/qemu_driver.c          | 127 +++++++++++++++++++++++++++++++-
>  src/util/virconf.c              |  47 ++++++++++++
>  src/util/virconf.h              |   3 +
>  src/util/virutil.c              |  23 ++++++
>  src/util/virutil.h              |   5 ++
>  tests/virstringtest.c           |  76 +++++++++++++++++++
>  13 files changed, 308 insertions(+), 5 deletions(-)
>
ping

Reply via email to