1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-03-30 18:50:18 +03:00

qemu: add config parameter to control auto-save bypass cache

When doing managed save of VMs, triggered by OS shutdown, it may
be desirable to control cache usage.

Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
Daniel P. Berrangé 2024-12-19 19:21:31 +00:00
parent b11c76e514
commit 543d259ad3
6 changed files with 15 additions and 0 deletions

View File

@ -107,6 +107,7 @@ module Libvirtd_qemu =
| str_entry "auto_shutdown_try_shutdown"
| str_entry "auto_shutdown_poweroff"
| int_entry "auto_shutdown_wait"
| bool_entry "auto_save_bypass_cache"
let process_entry = str_entry "hugetlbfs_mount"
| str_entry "bridge_helper"

View File

@ -714,6 +714,14 @@
# is currently 30 secs)
#auto_shutdown_wait = 30
# When a domain is configured to be auto-saved on shutdown, enabling
# this flag has the same effect as using the VIR_DOMAIN_SAVE_BYPASS_CACHE
# flag with the virDomainManagedSave API. That is, the system will
# avoid using the file system cache when writing any managed state
# file, but may cause slower operation.
#
#auto_save_bypass_cache = 0
# If provided by the host and a hugetlbfs mount point is configured,
# a guest may request huge page backing. When this mount point is
# unspecified here, determination of a host mount point in /proc/mounts

View File

@ -766,6 +766,9 @@ virQEMUDriverConfigLoadSaveEntry(virQEMUDriverConfig *cfg,
if (virConfGetValueUInt(conf, "auto_shutdown_wait",
&cfg->autoShutdownWait) < 0)
return -1;
if (virConfGetValueBool(conf, "auto_save_bypass_cache",
&cfg->autoSaveBypassCache) < 0)
return -1;
return 0;
}

View File

@ -216,6 +216,7 @@ struct _virQEMUDriverConfig {
virDomainDriverAutoShutdownScope autoShutdownTryShutdown;
virDomainDriverAutoShutdownScope autoShutdownPoweroff;
unsigned int autoShutdownWait;
bool autoSaveBypassCache;
char *lockManagerName;

View File

@ -970,6 +970,7 @@ qemuStateStop(void)
.tryShutdown = cfg->autoShutdownTryShutdown,
.poweroff = cfg->autoShutdownPoweroff,
.waitShutdownSecs = cfg->autoShutdownWait,
.saveBypassCache = cfg->autoSaveBypassCache,
};
virDomainDriverAutoShutdown(&ascfg);

View File

@ -84,6 +84,7 @@ module Test_libvirtd_qemu =
{ "auto_shutdown_try_shutdown" = "all" }
{ "auto_shutdown_poweroff" = "all" }
{ "auto_shutdown_wait" = "30" }
{ "auto_save_bypass_cache" = "0" }
{ "hugetlbfs_mount" = "/dev/hugepages" }
{ "bridge_helper" = "qemu-bridge-helper" }
{ "set_process_name" = "1" }