NEWS.rst | 19 ++ src/libvirt_private.syms | 2 + src/logging/log_daemon_config.c | 2 +- src/logging/log_daemon_config.h | 2 +- src/logging/test_virtlogd.aug.in | 2 +- src/logging/virtlogd.aug | 5 +- src/logging/virtlogd.conf | 7 +- src/qemu/libvirtd_qemu.aug | 4 + src/qemu/qemu.conf.in | 17 ++ src/qemu/qemu_capabilities.c | 4 + src/qemu/qemu_capabilities.h | 3 + src/qemu/qemu_conf.c | 2 + src/qemu/qemu_conf.h | 1 + src/qemu/qemu_driver.c | 163 +++++++++++++++++- src/qemu/test_libvirtd_qemu.aug.in | 1 + src/util/virconf.c | 47 +++++ src/util/virconf.h | 3 + src/util/virutil.c | 23 +++ src/util/virutil.h | 5 + .../caps_11.1.0_aarch64.replies | 5 +- .../caps_11.1.0_aarch64.xml | 1 + .../caps_11.1.0_x86_64.replies | 5 +- .../caps_11.1.0_x86_64.xml | 1 + tests/qemumonitorjsontest.c | 3 + tests/virstringtest.c | 76 ++++++++ 25 files changed, 394 insertions(+), 9 deletions(-)
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/devel@lists.libvirt.org/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/20260619101834.228432-1-den@openvz.org/,
commit b4bdad7dce).
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.
Changes since v1:
* detect the 'allowed-by-guest' feature QEMU 11.1 puts on the win-dmp
member of DumpGuestMemoryFormat (thanks Daniel for idea)
* skip the probe unless that capability is present, so QEMU that
offers win-dmp to every x86 guest keeps the elf default (Daniel).
* fix the sort position of both new symbols in libvirt_private.syms,
which v1 got wrong; picked up Daniel's Reviewed-by.
* update virtlogd.aug and test_virtlogd.aug.in for the quoted form (Daniel).
* update libvirtd_qemu.aug and test_libvirtd_qemu.aug.in for the new
setting, and VIR_INFO -> VIR_DEBUG (both Daniel); count and remove
only the dumps libvirt itself wrote, and skip pruning after a
failed dump.
* renamed test helpers for virStrToBytes
* NEWS.rst entries added.
Denis V. Lunev (5):
qemu: add capability for guest-aware win-dmp availability
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
NEWS.rst | 19 ++
src/libvirt_private.syms | 2 +
src/logging/log_daemon_config.c | 2 +-
src/logging/log_daemon_config.h | 2 +-
src/logging/test_virtlogd.aug.in | 2 +-
src/logging/virtlogd.aug | 5 +-
src/logging/virtlogd.conf | 7 +-
src/qemu/libvirtd_qemu.aug | 4 +
src/qemu/qemu.conf.in | 17 ++
src/qemu/qemu_capabilities.c | 4 +
src/qemu/qemu_capabilities.h | 3 +
src/qemu/qemu_conf.c | 2 +
src/qemu/qemu_conf.h | 1 +
src/qemu/qemu_driver.c | 163 +++++++++++++++++-
src/qemu/test_libvirtd_qemu.aug.in | 1 +
src/util/virconf.c | 47 +++++
src/util/virconf.h | 3 +
src/util/virutil.c | 23 +++
src/util/virutil.h | 5 +
.../caps_11.1.0_aarch64.replies | 5 +-
.../caps_11.1.0_aarch64.xml | 1 +
.../caps_11.1.0_x86_64.replies | 5 +-
.../caps_11.1.0_x86_64.xml | 1 +
tests/qemumonitorjsontest.c | 3 +
tests/virstringtest.c | 76 ++++++++
25 files changed, 394 insertions(+), 9 deletions(-)
--
2.53.0
On 8/11/26 11:24, 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/devel@lists.libvirt.org/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/20260619101834.228432-1-den@openvz.org/, > commit b4bdad7dce). > > 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. > > Changes since v1: > * detect the 'allowed-by-guest' feature QEMU 11.1 puts on the win-dmp > member of DumpGuestMemoryFormat (thanks Daniel for idea) > * skip the probe unless that capability is present, so QEMU that > offers win-dmp to every x86 guest keeps the elf default (Daniel). > * fix the sort position of both new symbols in libvirt_private.syms, > which v1 got wrong; picked up Daniel's Reviewed-by. > * update virtlogd.aug and test_virtlogd.aug.in for the quoted form (Daniel). > * update libvirtd_qemu.aug and test_libvirtd_qemu.aug.in for the new > setting, and VIR_INFO -> VIR_DEBUG (both Daniel); count and remove > only the dumps libvirt itself wrote, and skip pruning after a > failed dump. > * renamed test helpers for virStrToBytes > * NEWS.rst entries added. > > Denis V. Lunev (5): > qemu: add capability for guest-aware win-dmp availability > 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 > > NEWS.rst | 19 ++ > src/libvirt_private.syms | 2 + > src/logging/log_daemon_config.c | 2 +- > src/logging/log_daemon_config.h | 2 +- > src/logging/test_virtlogd.aug.in | 2 +- > src/logging/virtlogd.aug | 5 +- > src/logging/virtlogd.conf | 7 +- > src/qemu/libvirtd_qemu.aug | 4 + > src/qemu/qemu.conf.in | 17 ++ > src/qemu/qemu_capabilities.c | 4 + > src/qemu/qemu_capabilities.h | 3 + > src/qemu/qemu_conf.c | 2 + > src/qemu/qemu_conf.h | 1 + > src/qemu/qemu_driver.c | 163 +++++++++++++++++- > src/qemu/test_libvirtd_qemu.aug.in | 1 + > src/util/virconf.c | 47 +++++ > src/util/virconf.h | 3 + > src/util/virutil.c | 23 +++ > src/util/virutil.h | 5 + > .../caps_11.1.0_aarch64.replies | 5 +- > .../caps_11.1.0_aarch64.xml | 1 + > .../caps_11.1.0_x86_64.replies | 5 +- > .../caps_11.1.0_x86_64.xml | 1 + > tests/qemumonitorjsontest.c | 3 + > tests/virstringtest.c | 76 ++++++++ > 25 files changed, 394 insertions(+), 9 deletions(-) > ping
On 8/11/26 11:24, 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/devel@lists.libvirt.org/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/20260619101834.228432-1-den@openvz.org/, > commit b4bdad7dce). > > 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. > > Changes since v1: > * detect the 'allowed-by-guest' feature QEMU 11.1 puts on the win-dmp > member of DumpGuestMemoryFormat (thanks Daniel for idea) > * skip the probe unless that capability is present, so QEMU that > offers win-dmp to every x86 guest keeps the elf default (Daniel). > * fix the sort position of both new symbols in libvirt_private.syms, > which v1 got wrong; picked up Daniel's Reviewed-by. > * update virtlogd.aug and test_virtlogd.aug.in for the quoted form (Daniel). > * update libvirtd_qemu.aug and test_libvirtd_qemu.aug.in for the new > setting, and VIR_INFO -> VIR_DEBUG (both Daniel); count and remove > only the dumps libvirt itself wrote, and skip pruning after a > failed dump. > * renamed test helpers for virStrToBytes > * NEWS.rst entries added. > > Denis V. Lunev (5): > qemu: add capability for guest-aware win-dmp availability > 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 > > NEWS.rst | 19 ++ > src/libvirt_private.syms | 2 + > src/logging/log_daemon_config.c | 2 +- > src/logging/log_daemon_config.h | 2 +- > src/logging/test_virtlogd.aug.in | 2 +- > src/logging/virtlogd.aug | 5 +- > src/logging/virtlogd.conf | 7 +- > src/qemu/libvirtd_qemu.aug | 4 + > src/qemu/qemu.conf.in | 17 ++ > src/qemu/qemu_capabilities.c | 4 + > src/qemu/qemu_capabilities.h | 3 + > src/qemu/qemu_conf.c | 2 + > src/qemu/qemu_conf.h | 1 + > src/qemu/qemu_driver.c | 163 +++++++++++++++++- > src/qemu/test_libvirtd_qemu.aug.in | 1 + > src/util/virconf.c | 47 +++++ > src/util/virconf.h | 3 + > src/util/virutil.c | 23 +++ > src/util/virutil.h | 5 + > .../caps_11.1.0_aarch64.replies | 5 +- > .../caps_11.1.0_aarch64.xml | 1 + > .../caps_11.1.0_x86_64.replies | 5 +- > .../caps_11.1.0_x86_64.xml | 1 + > tests/qemumonitorjsontest.c | 3 + > tests/virstringtest.c | 76 ++++++++ > 25 files changed, 394 insertions(+), 9 deletions(-) > ping v3
On 8/11/26 11:24, 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/devel@lists.libvirt.org/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/20260619101834.228432-1-den@openvz.org/, > commit b4bdad7dce). > > 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. > > Changes since v1: > * detect the 'allowed-by-guest' feature QEMU 11.1 puts on the win-dmp > member of DumpGuestMemoryFormat (thanks Daniel for idea) > * skip the probe unless that capability is present, so QEMU that > offers win-dmp to every x86 guest keeps the elf default (Daniel). > * fix the sort position of both new symbols in libvirt_private.syms, > which v1 got wrong; picked up Daniel's Reviewed-by. > * update virtlogd.aug and test_virtlogd.aug.in for the quoted form (Daniel). > * update libvirtd_qemu.aug and test_libvirtd_qemu.aug.in for the new > setting, and VIR_INFO -> VIR_DEBUG (both Daniel); count and remove > only the dumps libvirt itself wrote, and skip pruning after a > failed dump. > * renamed test helpers for virStrToBytes > * NEWS.rst entries added. > > Denis V. Lunev (5): > qemu: add capability for guest-aware win-dmp availability > 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 > > NEWS.rst | 19 ++ > src/libvirt_private.syms | 2 + > src/logging/log_daemon_config.c | 2 +- > src/logging/log_daemon_config.h | 2 +- > src/logging/test_virtlogd.aug.in | 2 +- > src/logging/virtlogd.aug | 5 +- > src/logging/virtlogd.conf | 7 +- > src/qemu/libvirtd_qemu.aug | 4 + > src/qemu/qemu.conf.in | 17 ++ > src/qemu/qemu_capabilities.c | 4 + > src/qemu/qemu_capabilities.h | 3 + > src/qemu/qemu_conf.c | 2 + > src/qemu/qemu_conf.h | 1 + > src/qemu/qemu_driver.c | 163 +++++++++++++++++- > src/qemu/test_libvirtd_qemu.aug.in | 1 + > src/util/virconf.c | 47 +++++ > src/util/virconf.h | 3 + > src/util/virutil.c | 23 +++ > src/util/virutil.h | 5 + > .../caps_11.1.0_aarch64.replies | 5 +- > .../caps_11.1.0_aarch64.xml | 1 + > .../caps_11.1.0_x86_64.replies | 5 +- > .../caps_11.1.0_x86_64.xml | 1 + > tests/qemumonitorjsontest.c | 3 + > tests/virstringtest.c | 76 ++++++++ > 25 files changed, 394 insertions(+), 9 deletions(-) > ping v2
© 2016 - 2026 Red Hat, Inc.