File a30dac15-qemu-detect-prealloc-threads.patch of Package libvirt.29155

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-8.0.0/src/qemu/qemu_capabilities.c
===================================================================
--- libvirt-8.0.0.orig/src/qemu/qemu_capabilities.c
+++ libvirt-8.0.0/src/qemu/qemu_capabilities.c
@@ -654,6 +654,9 @@ VIR_ENUM_IMPL(virQEMUCaps,
               "rbd-encryption", /* QEMU_CAPS_RBD_ENCRYPTION */
               "sev-guest-kernel-hashes", /* QEMU_CAPS_SEV_GUEST_KERNEL_HASHES */
               "sev-inject-launch-secret", /* QEMU_CAPS_SEV_INJECT_LAUNCH_SECRET */
+
+              /* 420 */
+              "memory-backend-file.prealloc-threads", /* QEMU_CAPS_MEMORY_BACKEND_PREALLOC_THREADS */              
     );
 
 
@@ -1709,6 +1712,7 @@ static struct virQEMUCapsStringFlags vir
      * released qemu versions. */
     { "x-use-canonical-path-for-ramblock-id", QEMU_CAPS_X_USE_CANONICAL_PATH_FOR_RAMBLOCK_ID },
     { "reserve", QEMU_CAPS_MEMORY_BACKEND_RESERVE },
+    { "prealloc-threads", QEMU_CAPS_MEMORY_BACKEND_PREALLOC_THREADS },
 };
 
 static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsMemoryBackendMemfd[] = {
Index: libvirt-8.0.0/src/qemu/qemu_capabilities.h
===================================================================
--- libvirt-8.0.0.orig/src/qemu/qemu_capabilities.h
+++ libvirt-8.0.0/src/qemu/qemu_capabilities.h
@@ -633,6 +633,8 @@ typedef enum { /* virQEMUCapsFlags group
     QEMU_CAPS_RBD_ENCRYPTION, /* Ceph RBD encryption support */
     QEMU_CAPS_SEV_GUEST_KERNEL_HASHES, /* sev-guest.kernel-hashes= */
     QEMU_CAPS_SEV_INJECT_LAUNCH_SECRET, /* 'sev-inject-launch-secret' qmp command present */
+    /* 420 */
+    QEMU_CAPS_MEMORY_BACKEND_PREALLOC_THREADS, /* -object memory-backend-*.prealloc-threads */   
 
     QEMU_CAPS_LAST /* this must always be the last item */
 } virQEMUCapsFlags;
Index: libvirt-8.0.0/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml
===================================================================
--- libvirt-8.0.0.orig/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml
+++ libvirt-8.0.0/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml
@@ -179,6 +179,7 @@
   <flag name='input-linux'/>
   <flag name='query-display-options'/>
   <flag name='virtio-blk.queue-size'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>5000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>61700241</microcodeVersion>
Index: libvirt-8.0.0/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml
===================================================================
--- libvirt-8.0.0.orig/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml
+++ libvirt-8.0.0/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml
@@ -187,6 +187,7 @@
   <flag name='input-linux'/>
   <flag name='query-display-options'/>
   <flag name='virtio-blk.queue-size'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>5000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>42900241</microcodeVersion>
Index: libvirt-8.0.0/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml
===================================================================
--- libvirt-8.0.0.orig/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml
+++ libvirt-8.0.0/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml
@@ -171,6 +171,7 @@
   <flag name='input-linux'/>
   <flag name='query-display-options'/>
   <flag name='virtio-blk.queue-size'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>5000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>0</microcodeVersion>
Index: libvirt-8.0.0/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml
===================================================================
--- libvirt-8.0.0.orig/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml
+++ libvirt-8.0.0/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml
@@ -221,6 +221,7 @@
   <flag name='input-linux'/>
   <flag name='query-display-options'/>
   <flag name='virtio-blk.queue-size'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>5000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100241</microcodeVersion>
Index: libvirt-8.0.0/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml
===================================================================
--- libvirt-8.0.0.orig/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml
+++ libvirt-8.0.0/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml
@@ -90,6 +90,7 @@
   <flag name='rotation-rate'/>
   <flag name='input-linux'/>
   <flag name='query-display-options'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>5001000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>0</microcodeVersion>
Index: libvirt-8.0.0/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml
===================================================================
--- libvirt-8.0.0.orig/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml
+++ libvirt-8.0.0/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml
@@ -224,6 +224,7 @@
   <flag name='query-display-options'/>
   <flag name='virtio-blk.queue-size'/>
   <flag name='virtio-mem-pci'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>5001000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100242</microcodeVersion>
Index: libvirt-8.0.0/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml
===================================================================
--- libvirt-8.0.0.orig/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml
+++ libvirt-8.0.0/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml
@@ -184,6 +184,7 @@
   <flag name='query-display-options'/>
   <flag name='virtio-blk.queue-size'/>
   <flag name='query-dirty-rate'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>5002000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>61700243</microcodeVersion>
Index: libvirt-8.0.0/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml
===================================================================
--- libvirt-8.0.0.orig/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml
+++ libvirt-8.0.0/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml
@@ -190,6 +190,7 @@
   <flag name='query-display-options'/>
   <flag name='virtio-blk.queue-size'/>
   <flag name='query-dirty-rate'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>5002000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>42900243</microcodeVersion>
Index: libvirt-8.0.0/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml
===================================================================
--- libvirt-8.0.0.orig/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml
+++ libvirt-8.0.0/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml
@@ -174,6 +174,7 @@
   <flag name='query-display-options'/>
   <flag name='virtio-blk.queue-size'/>
   <flag name='query-dirty-rate'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>5002000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>0</microcodeVersion>
Index: libvirt-8.0.0/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml
===================================================================
--- libvirt-8.0.0.orig/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml
+++ libvirt-8.0.0/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml
@@ -141,6 +141,7 @@
   <flag name='query-display-options'/>
   <flag name='virtio-blk.queue-size'/>
   <flag name='query-dirty-rate'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>5002000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>39100243</microcodeVersion>
Index: libvirt-8.0.0/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml
===================================================================
--- libvirt-8.0.0.orig/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml
+++ libvirt-8.0.0/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml
@@ -227,6 +227,7 @@
   <flag name='virtio-mem-pci'/>
   <flag name='piix4.acpi-root-pci-hotplug'/>
   <flag name='query-dirty-rate'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>5002000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100243</microcodeVersion>
Index: libvirt-8.0.0/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml
===================================================================
--- libvirt-8.0.0.orig/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml
+++ libvirt-8.0.0/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml
@@ -192,6 +192,7 @@
   <flag name='set-action'/>
   <flag name='virtio-blk.queue-size'/>
   <flag name='query-dirty-rate'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>6000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>61700242</microcodeVersion>
Index: libvirt-8.0.0/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml
===================================================================
--- libvirt-8.0.0.orig/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml
+++ libvirt-8.0.0/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml
@@ -149,6 +149,7 @@
   <flag name='set-action'/>
   <flag name='virtio-blk.queue-size'/>
   <flag name='query-dirty-rate'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>6000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>39100242</microcodeVersion>
Index: libvirt-8.0.0/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml
===================================================================
--- libvirt-8.0.0.orig/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml
+++ libvirt-8.0.0/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml
@@ -236,6 +236,7 @@
   <flag name='piix4.acpi-root-pci-hotplug'/>
   <flag name='query-dirty-rate'/>
   <flag name='sev-inject-launch-secret'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>6000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100242</microcodeVersion>
Index: libvirt-8.0.0/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml
===================================================================
--- libvirt-8.0.0.orig/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml
+++ libvirt-8.0.0/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml
@@ -240,6 +240,7 @@
   <flag name='query-dirty-rate'/>
   <flag name='rbd-encryption'/>
   <flag name='sev-inject-launch-secret'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>6001000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100243</microcodeVersion>
Index: libvirt-8.0.0/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml
===================================================================
--- libvirt-8.0.0.orig/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml
+++ libvirt-8.0.0/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml
@@ -203,6 +203,7 @@
   <flag name='memory-backend-file.reserve'/>
   <flag name='query-dirty-rate'/>
   <flag name='rbd-encryption'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>6001050</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>61700244</microcodeVersion>
Index: libvirt-8.0.0/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml
===================================================================
--- libvirt-8.0.0.orig/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml
+++ libvirt-8.0.0/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml
@@ -199,6 +199,7 @@
   <flag name='piix4.acpi-root-pci-hotplug'/>
   <flag name='query-dirty-rate'/>
   <flag name='rbd-encryption'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>6001050</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>42900244</microcodeVersion>
Index: libvirt-8.0.0/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml
===================================================================
--- libvirt-8.0.0.orig/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml
+++ libvirt-8.0.0/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml
@@ -241,6 +241,7 @@
   <flag name='rbd-encryption'/>
   <flag name='sev-guest-kernel-hashes'/>
   <flag name='sev-inject-launch-secret'/>
+  <flag name='memory-backend-file.prealloc-threads'/>
   <version>6002000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100244</microcodeVersion>
openSUSE Build Service is sponsored by