File a30dac15-qemu-detect-prealloc-threads.patch of Package libvirt.25654
commit a30dac15dcdb7a6c7a3e9b6cfc5cd77bae185081
Author: Michal Prívozník <mprivozn@redhat.com>
Date: Mon Mar 21 16:55:05 2022 +0100
qemu_capabilities: Detect memory-backend-*.prealloc-threads property
The prealloc-threads is property of memory-backend class which is
parent to the other three classes memory-backend-{ram,file,memfd}.
Therefore the property is present for all, or none if QEMU is
older than v5.0.0-rc0~75^2~1^2~3 which introduced the property.
Anyway, the .reserve property is the same story, and we chose
memory-backend-file to detect it, so stick with our earlier
decision and use the same backend to detect this new property.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
Index: libvirt-7.1.0/src/qemu/qemu_capabilities.c
===================================================================
--- libvirt-7.1.0.orig/src/qemu/qemu_capabilities.c
+++ libvirt-7.1.0/src/qemu/qemu_capabilities.c
@@ -618,6 +618,9 @@ VIR_ENUM_IMPL(virQEMUCaps,
"memory-backend-file.x-use-canonical-path-for-ramblock-id",
"vnc-opts",
"migration-param.block-bitmap-mapping",
+
+ /* 395 */
+ "memory-backend-file.prealloc-threads",
);
@@ -1693,6 +1696,7 @@ static struct virQEMUCapsStringFlags vir
* supported. The 'x-' prefix was kept for compatibility with already
* released qemu versions. */
{ "x-use-canonical-path-for-ramblock-id", QEMU_CAPS_X_USE_CANONICAL_PATH_FOR_RAMBLOCK_ID },
+ { "prealloc-threads", QEMU_CAPS_MEMORY_BACKEND_PREALLOC_THREADS },
};
static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsMemoryBackendMemfd[] = {
Index: libvirt-7.1.0/src/qemu/qemu_capabilities.h
===================================================================
--- libvirt-7.1.0.orig/src/qemu/qemu_capabilities.h
+++ libvirt-7.1.0/src/qemu/qemu_capabilities.h
@@ -599,6 +599,9 @@ typedef enum { /* virQEMUCapsFlags group
QEMU_CAPS_VNC_OPTS, /* -vnc uses QemuOpts parser instead of custom code */
QEMU_CAPS_MIGRATION_PARAM_BLOCK_BITMAP_MAPPING, /* block-bitmap-mapping in migrate-set-parameters */
+ /* 395 */
+ QEMU_CAPS_MEMORY_BACKEND_PREALLOC_THREADS, /* -object memory-backend-*.prealloc-threads */
+
QEMU_CAPS_LAST /* this must always be the last item */
} virQEMUCapsFlags;
Index: libvirt-7.1.0/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml
===================================================================
--- libvirt-7.1.0.orig/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml
+++ libvirt-7.1.0/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml
@@ -207,6 +207,7 @@
<flag name='cpu-max'/>
<flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/>
<flag name='vnc-opts'/>
+ <flag name='memory-backend-file.prealloc-threads'/>
<version>5000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>61700241</microcodeVersion>
Index: libvirt-7.1.0/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml
===================================================================
--- libvirt-7.1.0.orig/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml
+++ libvirt-7.1.0/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml
@@ -216,6 +216,7 @@
<flag name='cpu-max'/>
<flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/>
<flag name='vnc-opts'/>
+ <flag name='memory-backend-file.prealloc-threads'/>
<version>5000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900241</microcodeVersion>
Index: libvirt-7.1.0/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml
===================================================================
--- libvirt-7.1.0.orig/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml
+++ libvirt-7.1.0/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml
@@ -202,6 +202,7 @@
<flag name='vhost-user-blk'/>
<flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/>
<flag name='vnc-opts'/>
+ <flag name='memory-backend-file.prealloc-threads'/>
<version>5000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>0</microcodeVersion>
Index: libvirt-7.1.0/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml
===================================================================
--- libvirt-7.1.0.orig/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml
+++ libvirt-7.1.0/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml
@@ -252,6 +252,7 @@
<flag name='cpu-max'/>
<flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/>
<flag name='vnc-opts'/>
+ <flag name='memory-backend-file.prealloc-threads'/>
<version>5000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100241</microcodeVersion>
Index: libvirt-7.1.0/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml
===================================================================
--- libvirt-7.1.0.orig/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml
+++ libvirt-7.1.0/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml
@@ -117,6 +117,7 @@
<flag name='ncr53c90'/>
<flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/>
<flag name='vnc-opts'/>
+ <flag name='memory-backend-file.prealloc-threads'/>
<version>5001000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>0</microcodeVersion>
Index: libvirt-7.1.0/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml
===================================================================
--- libvirt-7.1.0.orig/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml
+++ libvirt-7.1.0/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml
@@ -254,6 +254,7 @@
<flag name='cpu-max'/>
<flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/>
<flag name='vnc-opts'/>
+ <flag name='memory-backend-file.prealloc-threads'/>
<version>5001000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100242</microcodeVersion>
Index: libvirt-7.1.0/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml
===================================================================
--- libvirt-7.1.0.orig/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml
+++ libvirt-7.1.0/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml
@@ -211,6 +211,7 @@
<flag name='cpu-max'/>
<flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/>
<flag name='vnc-opts'/>
+ <flag name='memory-backend-file.prealloc-threads'/>
<version>5002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>61700243</microcodeVersion>
Index: libvirt-7.1.0/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml
===================================================================
--- libvirt-7.1.0.orig/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml
+++ libvirt-7.1.0/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml
@@ -218,6 +218,7 @@
<flag name='cpu-max'/>
<flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/>
<flag name='vnc-opts'/>
+ <flag name='memory-backend-file.prealloc-threads'/>
<version>5002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900243</microcodeVersion>
Index: libvirt-7.1.0/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml
===================================================================
--- libvirt-7.1.0.orig/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml
+++ libvirt-7.1.0/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml
@@ -204,6 +204,7 @@
<flag name='vhost-user-blk'/>
<flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/>
<flag name='vnc-opts'/>
+ <flag name='memory-backend-file.prealloc-threads'/>
<version>5002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>0</microcodeVersion>
Index: libvirt-7.1.0/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml
===================================================================
--- libvirt-7.1.0.orig/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml
+++ libvirt-7.1.0/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml
@@ -166,6 +166,7 @@
<flag name='cpu-max'/>
<flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/>
<flag name='vnc-opts'/>
+ <flag name='memory-backend-file.prealloc-threads'/>
<version>5002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>39100243</microcodeVersion>
Index: libvirt-7.1.0/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml
===================================================================
--- libvirt-7.1.0.orig/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml
+++ libvirt-7.1.0/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml
@@ -255,6 +255,7 @@
<flag name='cpu-max'/>
<flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/>
<flag name='vnc-opts'/>
+ <flag name='memory-backend-file.prealloc-threads'/>
<version>5002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100243</microcodeVersion>
Index: libvirt-7.1.0/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml
===================================================================
--- libvirt-7.1.0.orig/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml
+++ libvirt-7.1.0/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml
@@ -257,6 +257,7 @@
<flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/>
<flag name='vnc-opts'/>
<flag name='migration-param.block-bitmap-mapping'/>
+ <flag name='memory-backend-file.prealloc-threads'/>
<version>5002050</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100242</microcodeVersion>