5
0
mirror of git://git.proxmox.com/git/pve-qemu.git synced 2024-12-22 17:35:52 +03:00
pve-qemu/debian
Fiona Ebner eee064d954 savevm-async: keep more free space when entering final stage
In qemu-server, we already allocate 2 * $mem_size + 500 MiB for driver
state (which was 32 MiB long ago according to git history). It seems
likely that the 30 MiB cutoff in the savevm-async implementation was
chosen based on that.

In bug #4476 [0], another issue caused the iteration to not make any
progress and the state file filled up all the way to the 30 MiB +
pending_size cutoff. Since the guest is not stopped immediately after
the check, it can still dirty some RAM and the current cutoff is not
enough for a reproducer VM (was done while bug #4476 still was not
fixed), dirtying memory with
> stress-ng -B 2 --bigheap-growth 64.0M'
After entering the final stage, savevm actually filled up the state
file completely, leading to an I/O error. It's probably the same
scenario as reported in the bug report, the error message was fixed in
commit a020815 ("savevm-async: fix function name in error message")
after the bug report.

If not for the bug, the cutoff will only be reached by a VM that's
dirtying RAM faster than can be written to the storage, so increase
the cutoff to 100 MiB to have a bigger chance to finish successfully,
while still trying to not increase downtime too much for
non-hibernation snapshots.

[0]: https://bugzilla.proxmox.com/show_bug.cgi?id=4476

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
2023-02-21 08:39:08 +01:00
..
patches savevm-async: keep more free space when entering final stage 2023-02-21 08:39:08 +01:00
source add d/source/include-binaries 2022-06-09 16:35:01 +02:00
changelog bump version to 7.2.0-4 2023-01-27 09:37:53 +01:00
compat Bump dephelper compatibility level to 10 2017-10-16 14:05:22 +02:00
control d/control: also conflict with "qemu-system-data" 2023-01-26 10:55:37 +01:00
copyright d/copyright: drop trailing whitespace 2022-04-22 09:16:23 +02:00
docs import stable-4 build files 2017-04-05 11:39:09 +02:00
kvm-ifdown import stable-4 build files 2017-04-05 11:39:09 +02:00
kvm-ifup update to 2.9.0-rc2 build files 2017-04-05 11:40:20 +02:00
Logo.bmp import stable-4 build files 2017-04-05 11:39:09 +02:00
OVMF_CODE-pure-efi.fd import stable-4 build files 2017-04-05 11:39:09 +02:00
OVMF_README.txt import stable-4 build files 2017-04-05 11:39:09 +02:00
OVMF_VARS-pure-efi.fd import stable-4 build files 2017-04-05 11:39:09 +02:00
parse-cpu-flags.pl Write recognized CPUID flags into static file 2019-10-17 13:39:21 +02:00
parse-machines.pl machine list: save as JSON 2021-03-05 16:21:30 +01:00
pve-qemu-kvm.install Update to QEMU 5.2 2021-02-12 10:20:01 +01:00
pve-qemu-kvm.links build and include qemu-system-aarch64 2019-04-19 09:53:44 +02:00
pve-qemu-kvm.lintian-overrides add lintian overrides for shipped strange BLOBs 2019-05-22 17:59:27 +02:00
rules d/rules: add note explaining why using noopt doesn't currenlty work 2023-02-14 10:04:21 +01:00