diff --git a/.gitignore b/.gitignore
index 982dd1e..440e0ad 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/libvirt-7.9.0.tar.xz
+SOURCES/libvirt-7.10.0.tar.xz
diff --git a/.libvirt.metadata b/.libvirt.metadata
index 4f5e678..1f9a6ac 100644
--- a/.libvirt.metadata
+++ b/.libvirt.metadata
@@ -1 +1 @@
-dcf9c3c8404e2a91c93538db9a57c9356abb927d SOURCES/libvirt-7.9.0.tar.xz
+fcaf7b763bf6e930d8b0a131b32752ebc2b8af9f SOURCES/libvirt-7.10.0.tar.xz
diff --git a/SOURCES/libvirt-RHEL-Add-rhel-machine-types-to-qemuDomainMachineNeedsFDC.patch b/SOURCES/libvirt-RHEL-Add-rhel-machine-types-to-qemuDomainMachineNeedsFDC.patch
index 9213d36..0988775 100644
--- a/SOURCES/libvirt-RHEL-Add-rhel-machine-types-to-qemuDomainMachineNeedsFDC.patch
+++ b/SOURCES/libvirt-RHEL-Add-rhel-machine-types-to-qemuDomainMachineNeedsFDC.patch
@@ -1,5 +1,5 @@
-From 0414b6f6f28b4ff1db04c6eed18b118294cac49a Mon Sep 17 00:00:00 2001
-Message-Id: <0414b6f6f28b4ff1db04c6eed18b118294cac49a@dist-git>
+From 804b6b95f243d4f3dcf4bca3f08e835fc88bfdfd Mon Sep 17 00:00:00 2001
+Message-Id: <804b6b95f243d4f3dcf4bca3f08e835fc88bfdfd@dist-git>
 From: =?UTF-8?q?J=C3=A1n=20Tomko?= <jtomko@redhat.com>
 Date: Mon, 22 Feb 2016 12:51:51 +0100
 Subject: [PATCH] RHEL: Add rhel machine types to qemuDomainMachineNeedsFDC
@@ -17,7 +17,7 @@ Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
  1 file changed, 7 insertions(+), 1 deletion(-)
 
 diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
-index 209337404a..7735d134eb 100644
+index 1f45b30975..0f6b9f980a 100644
 --- a/src/qemu/qemu_domain.c
 +++ b/src/qemu/qemu_domain.c
 @@ -8696,10 +8696,16 @@ static bool
@@ -39,5 +39,5 @@ index 209337404a..7735d134eb 100644
  
      return true;
 -- 
-2.33.1
+2.34.1
 
diff --git a/SOURCES/libvirt-RHEL-Enable-usage-of-x-blockdev-reopen.patch b/SOURCES/libvirt-RHEL-Enable-usage-of-x-blockdev-reopen.patch
index c59fd90..a12df1f 100644
--- a/SOURCES/libvirt-RHEL-Enable-usage-of-x-blockdev-reopen.patch
+++ b/SOURCES/libvirt-RHEL-Enable-usage-of-x-blockdev-reopen.patch
@@ -1,5 +1,5 @@
-From 6b716d543f7e9a8e4c467d2dd0ccb7910c15fdf5 Mon Sep 17 00:00:00 2001
-Message-Id: <6b716d543f7e9a8e4c467d2dd0ccb7910c15fdf5@dist-git>
+From 10561682792d0ea540235636e80b0b3e85ce412a Mon Sep 17 00:00:00 2001
+Message-Id: <10561682792d0ea540235636e80b0b3e85ce412a@dist-git>
 From: Peter Krempa <pkrempa@redhat.com>
 Date: Wed, 28 Jul 2021 17:37:21 +0200
 Subject: [PATCH] RHEL: Enable usage of x-blockdev-reopen
@@ -39,7 +39,7 @@ Reviewed-by: Ján Tomko <jtomko@redhat.com>
  9 files changed, 46 insertions(+), 18 deletions(-)
 
 diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c
-index 34fdec2c4b..84528c2d17 100644
+index 53a0b919f9..8871eb9fdc 100644
 --- a/src/qemu/qemu_block.c
 +++ b/src/qemu/qemu_block.c
 @@ -3322,7 +3322,8 @@ qemuBlockBitmapsHandleCommitFinish(virStorageSource *topsrc,
@@ -64,13 +64,13 @@ index 34fdec2c4b..84528c2d17 100644
 +        if (virJSONValueArrayAppend(reopenoptions, &srcprops) < 0)
 +            return -1;
  
--    if (virJSONValueObjectCreate(&reopenprops,
--                                 "a:options", &reopenoptions,
--                                 NULL) < 0)
+-    if (virJSONValueObjectAdd(&reopenprops,
+-                              "a:options", &reopenoptions,
+-                              NULL) < 0)
 -        return -1;
-+        if (virJSONValueObjectCreate(&reopenprops,
-+                                     "a:options", &reopenoptions,
-+                                     NULL) < 0)
++        if (virJSONValueObjectAdd(&reopenprops,
++                                  "a:options", &reopenoptions,
++                                  NULL) < 0)
 +            return -1;
 +    }
  
@@ -111,7 +111,7 @@ index 54601a48a9..88fc9974c4 100644
  int
  qemuBlockReopenReadWrite(virDomainObj *vm,
 diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
-index 881bdaa855..24ac70048d 100644
+index 30a557706b..f6ea51d17e 100644
 --- a/src/qemu/qemu_capabilities.c
 +++ b/src/qemu/qemu_capabilities.c
 @@ -651,6 +651,7 @@ VIR_ENUM_IMPL(virQEMUCaps,
@@ -122,7 +122,7 @@ index 881bdaa855..24ac70048d 100644
      );
  
  
-@@ -1552,6 +1553,7 @@ static struct virQEMUCapsDevicePropsFlags virQEMUCapsDevicePropsVhostUserFS[] =
+@@ -1536,6 +1537,7 @@ static struct virQEMUCapsDevicePropsFlags virQEMUCapsDevicePropsVhostUserFS[] =
  /* see documentation for virQEMUQAPISchemaPathGet for the query format */
  static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] = {
      { "block-commit/arg-type/*top",  QEMU_CAPS_ACTIVE_COMMIT },
@@ -130,7 +130,7 @@ index 881bdaa855..24ac70048d 100644
      { "blockdev-add/arg-type/options/+gluster/debug-level", QEMU_CAPS_GLUSTER_DEBUG_LEVEL},
      { "blockdev-add/arg-type/+gluster/debug", QEMU_CAPS_GLUSTER_DEBUG_LEVEL},
      { "blockdev-add/arg-type/+vxhs", QEMU_CAPS_VXHS},
-@@ -5148,6 +5150,15 @@ virQEMUCapsInitProcessCaps(virQEMUCaps *qemuCaps)
+@@ -5189,6 +5191,15 @@ virQEMUCapsInitProcessCaps(virQEMUCaps *qemuCaps)
          qemuCaps->arch == VIR_ARCH_MIPS)
          virQEMUCapsSet(qemuCaps, QEMU_CAPS_SCSI_NCR53C90);
  
@@ -147,7 +147,7 @@ index 881bdaa855..24ac70048d 100644
  }
  
 diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
-index 2bca284e10..645a5f3cf5 100644
+index 61bdbdb2ac..79c05d603c 100644
 --- a/src/qemu/qemu_capabilities.h
 +++ b/src/qemu/qemu_capabilities.h
 @@ -631,6 +631,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
@@ -159,10 +159,10 @@ index 2bca284e10..645a5f3cf5 100644
      QEMU_CAPS_LAST /* this must always be the last item */
  } virQEMUCapsFlags;
 diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c
-index 908ee0d302..4ac0b41df9 100644
+index 26b59801b8..ad00e471d6 100644
 --- a/src/qemu/qemu_monitor.c
 +++ b/src/qemu/qemu_monitor.c
-@@ -4309,14 +4309,15 @@ qemuMonitorBlockdevAdd(qemuMonitor *mon,
+@@ -4291,14 +4291,15 @@ qemuMonitorBlockdevAdd(qemuMonitor *mon,
  
  int
  qemuMonitorBlockdevReopen(qemuMonitor *mon,
@@ -181,10 +181,10 @@ index 908ee0d302..4ac0b41df9 100644
  
  
 diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h
-index b54c1cf87a..06b42b6a10 100644
+index 99ecebc648..acbc49cc69 100644
 --- a/src/qemu/qemu_monitor.h
 +++ b/src/qemu/qemu_monitor.h
-@@ -1420,7 +1420,8 @@ int qemuMonitorBlockdevAdd(qemuMonitor *mon,
+@@ -1422,7 +1422,8 @@ int qemuMonitorBlockdevAdd(qemuMonitor *mon,
                             virJSONValue **props);
  
  int qemuMonitorBlockdevReopen(qemuMonitor *mon,
@@ -195,10 +195,10 @@ index b54c1cf87a..06b42b6a10 100644
  int qemuMonitorBlockdevDel(qemuMonitor *mon,
                             const char *nodename);
 diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c
-index e9be9bdabd..02b2b61dd3 100644
+index 56f0b22b2a..efaee0d28c 100644
 --- a/src/qemu/qemu_monitor_json.c
 +++ b/src/qemu/qemu_monitor_json.c
-@@ -7969,13 +7969,19 @@ qemuMonitorJSONBlockdevAdd(qemuMonitor *mon,
+@@ -8009,13 +8009,19 @@ qemuMonitorJSONBlockdevAdd(qemuMonitor *mon,
  
  int
  qemuMonitorJSONBlockdevReopen(qemuMonitor *mon,
@@ -222,7 +222,7 @@ index e9be9bdabd..02b2b61dd3 100644
      if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0)
          return -1;
 diff --git a/src/qemu/qemu_monitor_json.h b/src/qemu/qemu_monitor_json.h
-index f9e01e5bf5..dba004be5b 100644
+index f7fb13f56c..61389d9dd8 100644
 --- a/src/qemu/qemu_monitor_json.h
 +++ b/src/qemu/qemu_monitor_json.h
 @@ -594,7 +594,8 @@ int qemuMonitorJSONBlockdevAdd(qemuMonitor *mon,
@@ -236,10 +236,10 @@ index f9e01e5bf5..dba004be5b 100644
  
  int qemuMonitorJSONBlockdevDel(qemuMonitor *mon,
 diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c
-index e5ba39cd2f..f45302dfe8 100644
+index bcf5caa9a4..b6cec5e362 100644
 --- a/tests/qemumonitorjsontest.c
 +++ b/tests/qemumonitorjsontest.c
-@@ -2793,7 +2793,7 @@ testQemuMonitorJSONBlockdevReopen(const void *opaque)
+@@ -2784,7 +2784,7 @@ testQemuMonitorJSONBlockdevReopen(const void *opaque)
      if (qemuMonitorTestAddItem(test, "blockdev-reopen", "{\"return\":{}}") < 0)
          return -1;
  
@@ -249,5 +249,5 @@ index e5ba39cd2f..f45302dfe8 100644
  
      return 0;
 -- 
-2.33.1
+2.34.1
 
diff --git a/SOURCES/libvirt-RHEL-Fix-virConnectGetMaxVcpus-output.patch b/SOURCES/libvirt-RHEL-Fix-virConnectGetMaxVcpus-output.patch
index 1ebd478..72129a6 100644
--- a/SOURCES/libvirt-RHEL-Fix-virConnectGetMaxVcpus-output.patch
+++ b/SOURCES/libvirt-RHEL-Fix-virConnectGetMaxVcpus-output.patch
@@ -1,5 +1,5 @@
-From 2b24836d30d5d576a641f2372877acf68a25ff3b Mon Sep 17 00:00:00 2001
-Message-Id: <2b24836d30d5d576a641f2372877acf68a25ff3b@dist-git>
+From 91233ed20b9682d68aceeeba269f3cd9b6a32f50 Mon Sep 17 00:00:00 2001
+Message-Id: <91233ed20b9682d68aceeeba269f3cd9b6a32f50@dist-git>
 From: =?UTF-8?q?J=C3=A1n=20Tomko?= <jtomko@redhat.com>
 Date: Mon, 27 Aug 2018 13:09:38 +0200
 Subject: [PATCH] RHEL: Fix virConnectGetMaxVcpus output
@@ -26,10 +26,10 @@ Reviewed-by: Andrea Bolognani <abologna@redhat.com>
  1 file changed, 5 insertions(+)
 
 diff --git a/src/util/virhostcpu.c b/src/util/virhostcpu.c
-index 5dd2baf2df..6811c498f9 100644
+index 67b6910626..d5d7d5eae0 100644
 --- a/src/util/virhostcpu.c
 +++ b/src/util/virhostcpu.c
-@@ -1192,6 +1192,11 @@ virHostCPUGetKVMMaxVCPUs(void)
+@@ -1189,6 +1189,11 @@ virHostCPUGetKVMMaxVCPUs(void)
          return -1;
      }
  
@@ -42,5 +42,5 @@ index 5dd2baf2df..6811c498f9 100644
      /* at first try KVM_CAP_MAX_VCPUS to determine the maximum count */
      if ((ret = ioctl(fd, KVM_CHECK_EXTENSION, KVM_CAP_MAX_VCPUS)) > 0)
 -- 
-2.33.1
+2.34.1
 
diff --git a/SOURCES/libvirt-RHEL-Hack-around-changed-Broadwell-Haswell-CPUs.patch b/SOURCES/libvirt-RHEL-Hack-around-changed-Broadwell-Haswell-CPUs.patch
index 2b8149f..3eed732 100644
--- a/SOURCES/libvirt-RHEL-Hack-around-changed-Broadwell-Haswell-CPUs.patch
+++ b/SOURCES/libvirt-RHEL-Hack-around-changed-Broadwell-Haswell-CPUs.patch
@@ -1,5 +1,5 @@
-From dcd270ea2f82749f901df0ba5fa178ce0f73aef3 Mon Sep 17 00:00:00 2001
-Message-Id: <dcd270ea2f82749f901df0ba5fa178ce0f73aef3@dist-git>
+From 1519bcc302d20d30b5115d53aa4c1735c72d7db0 Mon Sep 17 00:00:00 2001
+Message-Id: <1519bcc302d20d30b5115d53aa4c1735c72d7db0@dist-git>
 From: Jiri Denemark <jdenemar@redhat.com>
 Date: Fri, 27 Mar 2015 12:48:40 +0100
 Subject: [PATCH] RHEL: Hack around changed Broadwell/Haswell CPUs
@@ -30,10 +30,10 @@ Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
  9 files changed, 30 insertions(+), 8 deletions(-)
 
 diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
-index 77977c396e..3bcc2ccd1d 100644
+index c47998aabd..b5feaeb2c2 100644
 --- a/src/qemu/qemu_command.c
 +++ b/src/qemu/qemu_command.c
-@@ -6601,6 +6601,8 @@ qemuBuildCpuModelArgStr(virQEMUDriver *driver,
+@@ -6614,6 +6614,8 @@ qemuBuildCpuModelArgStr(virQEMUDriver *driver,
  {
      size_t i;
      virCPUDef *cpu = def->cpu;
@@ -42,7 +42,7 @@ index 77977c396e..3bcc2ccd1d 100644
  
      switch ((virCPUMode) cpu->mode) {
      case VIR_CPU_MODE_HOST_PASSTHROUGH:
-@@ -6667,6 +6669,12 @@ qemuBuildCpuModelArgStr(virQEMUDriver *driver,
+@@ -6680,6 +6682,12 @@ qemuBuildCpuModelArgStr(virQEMUDriver *driver,
      for (i = 0; i < cpu->nfeatures; i++) {
          const char *featname =
              virQEMUCapsCPUFeatureToQEMU(qemuCaps, cpu->features[i].name);
@@ -55,7 +55,7 @@ index 77977c396e..3bcc2ccd1d 100644
          switch ((virCPUFeaturePolicy) cpu->features[i].policy) {
          case VIR_CPU_FEATURE_FORCE:
          case VIR_CPU_FEATURE_REQUIRE:
-@@ -6684,6 +6692,20 @@ qemuBuildCpuModelArgStr(virQEMUDriver *driver,
+@@ -6697,6 +6705,20 @@ qemuBuildCpuModelArgStr(virQEMUDriver *driver,
          }
      }
  
@@ -77,109 +77,109 @@ index 77977c396e..3bcc2ccd1d 100644
  }
  
 diff --git a/tests/qemuxml2argvdata/cpu-Haswell.args b/tests/qemuxml2argvdata/cpu-Haswell.args
-index 6441a4c1eb..4bc2e0bc00 100644
+index b57fdfddc5..965274c1f0 100644
 --- a/tests/qemuxml2argvdata/cpu-Haswell.args
 +++ b/tests/qemuxml2argvdata/cpu-Haswell.args
-@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
- -S \
+@@ -13,7 +13,7 @@ QEMU_AUDIO_DRV=none \
  -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
- -machine pc,accel=kvm,usb=off,dump-guest-core=off \
+ -machine pc,usb=off,dump-guest-core=off \
+ -accel kvm \
 --cpu Haswell \
 +-cpu Haswell,rtm=on,hle=on \
  -m 214 \
  -realtime mlock=off \
  -smp 6,sockets=6,cores=1,threads=1 \
 diff --git a/tests/qemuxml2argvdata/cpu-host-model-cmt.args b/tests/qemuxml2argvdata/cpu-host-model-cmt.args
-index 3f17100e5f..81ffd67f37 100644
+index 0de04e877d..602f70de86 100644
 --- a/tests/qemuxml2argvdata/cpu-host-model-cmt.args
 +++ b/tests/qemuxml2argvdata/cpu-host-model-cmt.args
-@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
- -S \
+@@ -13,7 +13,7 @@ QEMU_AUDIO_DRV=none \
  -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
- -machine pc,accel=tcg,usb=off,dump-guest-core=off \
+ -machine pc,usb=off,dump-guest-core=off \
+ -accel tcg \
 --cpu Haswell,vme=on,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,dtes64=on,monitor=on,ds-cpl=on,vmx=on,smx=on,est=on,tm2=on,xtpr=on,pdcm=on,f16c=on,rdrand=on,pdpe1gb=on,abm=on,lahf-lm=on \
 +-cpu Haswell,vme=on,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,dtes64=on,monitor=on,ds-cpl=on,vmx=on,smx=on,est=on,tm2=on,xtpr=on,pdcm=on,f16c=on,rdrand=on,pdpe1gb=on,abm=on,lahf-lm=on,rtm=on,hle=on \
  -m 214 \
  -realtime mlock=off \
  -smp 6,sockets=6,cores=1,threads=1 \
 diff --git a/tests/qemuxml2argvdata/cpu-translation.x86_64-4.0.0.args b/tests/qemuxml2argvdata/cpu-translation.x86_64-4.0.0.args
-index e98eef243e..427b6f12a4 100644
+index 09141106d5..ace08d5d76 100644
 --- a/tests/qemuxml2argvdata/cpu-translation.x86_64-4.0.0.args
 +++ b/tests/qemuxml2argvdata/cpu-translation.x86_64-4.0.0.args
-@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
- -S \
+@@ -13,7 +13,7 @@ QEMU_AUDIO_DRV=none \
  -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
- -machine pc-i440fx-4.0,accel=tcg,usb=off,dump-guest-core=off \
+ -machine pc-i440fx-4.0,usb=off,dump-guest-core=off \
+ -accel tcg \
 --cpu Haswell,pclmulqdq=on,ds-cpl=on,tsc-adjust=on,fxsr-opt=on,lahf-lm=on,cmp-legacy=on,nodeid-msr=on,perfctr-core=on,perfctr-nb=on,kvm-pv-eoi=on,kvm-pv-unhalt=on \
 +-cpu Haswell,pclmulqdq=on,ds-cpl=on,tsc-adjust=on,fxsr-opt=on,lahf-lm=on,cmp-legacy=on,nodeid-msr=on,perfctr-core=on,perfctr-nb=on,rtm=on,hle=on,kvm-pv-eoi=on,kvm-pv-unhalt=on \
  -m 214 \
  -overcommit mem-lock=off \
  -smp 1,sockets=1,cores=1,threads=1 \
 diff --git a/tests/qemuxml2argvdata/cpu-translation.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-translation.x86_64-latest.args
-index c24d8ec201..b3f06a2478 100644
+index 866b7363b8..4f662703e6 100644
 --- a/tests/qemuxml2argvdata/cpu-translation.x86_64-latest.args
 +++ b/tests/qemuxml2argvdata/cpu-translation.x86_64-latest.args
-@@ -11,7 +11,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
- -S \
+@@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
  -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/tmp/lib/domain--1-QEMUGuest1/master-key.aes"}' \
- -machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+ -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+ -accel tcg \
 --cpu Haswell,pclmulqdq=on,ds-cpl=on,tsc-adjust=on,fxsr-opt=on,lahf-lm=on,cmp-legacy=on,nodeid-msr=on,perfctr-core=on,perfctr-nb=on,kvm-pv-eoi=on,kvm-pv-unhalt=on \
 +-cpu Haswell,pclmulqdq=on,ds-cpl=on,tsc-adjust=on,fxsr-opt=on,lahf-lm=on,cmp-legacy=on,nodeid-msr=on,perfctr-core=on,perfctr-nb=on,rtm=on,hle=on,kvm-pv-eoi=on,kvm-pv-unhalt=on \
  -m 214 \
  -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
  -overcommit mem-lock=off \
 diff --git a/tests/qemuxml2argvdata/cpu-tsc-frequency.args b/tests/qemuxml2argvdata/cpu-tsc-frequency.args
-index c6d917f0f4..6063ad16f5 100644
+index 4a032f5d85..48fb75abcc 100644
 --- a/tests/qemuxml2argvdata/cpu-tsc-frequency.args
 +++ b/tests/qemuxml2argvdata/cpu-tsc-frequency.args
-@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
- -S \
+@@ -13,7 +13,7 @@ QEMU_AUDIO_DRV=none \
  -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
- -machine pc,accel=kvm,usb=off,dump-guest-core=off \
+ -machine pc,usb=off,dump-guest-core=off \
+ -accel kvm \
 --cpu Haswell,vme=on,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,dtes64=on,monitor=on,ds-cpl=on,vmx=on,smx=on,est=on,tm2=on,xtpr=on,pdcm=on,f16c=on,rdrand=on,pdpe1gb=on,abm=on,lahf-lm=on,invtsc=on,tsc-frequency=4567890000 \
 +-cpu Haswell,vme=on,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,dtes64=on,monitor=on,ds-cpl=on,vmx=on,smx=on,est=on,tm2=on,xtpr=on,pdcm=on,f16c=on,rdrand=on,pdpe1gb=on,abm=on,lahf-lm=on,invtsc=on,rtm=on,hle=on,tsc-frequency=4567890000 \
  -m 214 \
  -realtime mlock=off \
  -smp 1,sockets=1,cores=1,threads=1 \
 diff --git a/tests/qemuxml2argvdata/q35-acpi-nouefi.args b/tests/qemuxml2argvdata/q35-acpi-nouefi.args
-index 956ee3b6b7..1b592383a9 100644
+index 3faee48c77..a1f742712d 100644
 --- a/tests/qemuxml2argvdata/q35-acpi-nouefi.args
 +++ b/tests/qemuxml2argvdata/q35-acpi-nouefi.args
-@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
- -S \
+@@ -13,7 +13,7 @@ QEMU_AUDIO_DRV=none \
  -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-guest/master-key.aes \
- -machine q35,accel=tcg,usb=off,dump-guest-core=off \
+ -machine q35,usb=off,dump-guest-core=off \
+ -accel tcg \
 --cpu Haswell \
 +-cpu Haswell,rtm=on,hle=on \
  -m 1024 \
  -realtime mlock=off \
  -smp 1,sockets=1,cores=1,threads=1 \
 diff --git a/tests/qemuxml2argvdata/q35-acpi-uefi.args b/tests/qemuxml2argvdata/q35-acpi-uefi.args
-index 272369de22..303a5176fe 100644
+index 60da1e282a..620056223a 100644
 --- a/tests/qemuxml2argvdata/q35-acpi-uefi.args
 +++ b/tests/qemuxml2argvdata/q35-acpi-uefi.args
-@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
- -S \
+@@ -13,7 +13,7 @@ QEMU_AUDIO_DRV=none \
  -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-guest/master-key.aes \
- -machine q35,accel=tcg,usb=off,dump-guest-core=off \
+ -machine q35,usb=off,dump-guest-core=off \
+ -accel tcg \
 --cpu Haswell \
 +-cpu Haswell,rtm=on,hle=on \
  -drive file=/usr/share/OVMF/OVMF_CODE.fd,if=pflash,format=raw,unit=0,readonly=on \
  -drive file=/var/lib/libvirt/qemu/nvram/guest_VARS.fd,if=pflash,format=raw,unit=1 \
  -m 1024 \
 diff --git a/tests/qemuxml2argvdata/q35-noacpi-nouefi.args b/tests/qemuxml2argvdata/q35-noacpi-nouefi.args
-index c6cffeea89..4538a63c24 100644
+index 14e5bbc22a..ea66536c2a 100644
 --- a/tests/qemuxml2argvdata/q35-noacpi-nouefi.args
 +++ b/tests/qemuxml2argvdata/q35-noacpi-nouefi.args
-@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
- -S \
+@@ -13,7 +13,7 @@ QEMU_AUDIO_DRV=none \
  -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-guest/master-key.aes \
- -machine q35,accel=tcg,usb=off,dump-guest-core=off \
+ -machine q35,usb=off,dump-guest-core=off \
+ -accel tcg \
 --cpu Haswell \
 +-cpu Haswell,rtm=on,hle=on \
  -m 1024 \
  -realtime mlock=off \
  -smp 1,sockets=1,cores=1,threads=1 \
 -- 
-2.33.1
+2.34.1
 
diff --git a/SOURCES/libvirt-RHEL-qemu-Add-ability-to-set-sgio-values-for-hostdev.patch b/SOURCES/libvirt-RHEL-qemu-Add-ability-to-set-sgio-values-for-hostdev.patch
index 86277d9..25ff98a 100644
--- a/SOURCES/libvirt-RHEL-qemu-Add-ability-to-set-sgio-values-for-hostdev.patch
+++ b/SOURCES/libvirt-RHEL-qemu-Add-ability-to-set-sgio-values-for-hostdev.patch
@@ -1,5 +1,5 @@
-From b36365dfbadc27ec0198db969701d05669392138 Mon Sep 17 00:00:00 2001
-Message-Id: <b36365dfbadc27ec0198db969701d05669392138@dist-git>
+From 654e03568f76bad59e73c3dde61edc1b508fab8b Mon Sep 17 00:00:00 2001
+Message-Id: <654e03568f76bad59e73c3dde61edc1b508fab8b@dist-git>
 From: John Ferlan <jferlan@redhat.com>
 Date: Mon, 17 Dec 2018 20:42:30 -0500
 Subject: [PATCH] RHEL: qemu: Add ability to set sgio values for hostdev
@@ -22,10 +22,10 @@ Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
  1 file changed, 16 insertions(+), 9 deletions(-)
 
 diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
-index 0451bc70ac..3fee5fe687 100644
+index 7eb04e66a0..b4e4b0fe81 100644
 --- a/src/qemu/qemu_conf.c
 +++ b/src/qemu/qemu_conf.c
-@@ -1836,8 +1836,9 @@ qemuSetUnprivSGIO(virDomainDeviceDef *dev)
+@@ -1835,8 +1835,9 @@ qemuSetUnprivSGIO(virDomainDeviceDef *dev)
      virDomainDiskDef *disk = NULL;
      virDomainHostdevDef *hostdev = NULL;
      g_autofree char *sysfs_path = NULL;
@@ -36,7 +36,7 @@ index 0451bc70ac..3fee5fe687 100644
  
      /* "sgio" is only valid for block disk; cdrom
       * and floopy disk can have empty source.
-@@ -1853,17 +1854,14 @@ qemuSetUnprivSGIO(virDomainDeviceDef *dev)
+@@ -1852,17 +1853,14 @@ qemuSetUnprivSGIO(virDomainDeviceDef *dev)
      } else if (dev->type == VIR_DOMAIN_DEVICE_HOSTDEV) {
          hostdev = dev->data.hostdev;
  
@@ -58,7 +58,7 @@ index 0451bc70ac..3fee5fe687 100644
      } else {
          return 0;
      }
-@@ -1872,7 +1870,16 @@ qemuSetUnprivSGIO(virDomainDeviceDef *dev)
+@@ -1871,7 +1869,16 @@ qemuSetUnprivSGIO(virDomainDeviceDef *dev)
          return -1;
  
      /* By default, filter the SG_IO commands, i.e. set unpriv_sgio to 0.  */
@@ -77,5 +77,5 @@ index 0451bc70ac..3fee5fe687 100644
      /* Do not do anything if unpriv_sgio is not supported by the kernel and the
       * whitelist is enabled.  But if requesting unfiltered access, always call
 -- 
-2.33.1
+2.34.1
 
diff --git a/SOURCES/libvirt-RHEL-qemu-Add-check-for-unpriv-sgio-for-SCSI-generic-host-device.patch b/SOURCES/libvirt-RHEL-qemu-Add-check-for-unpriv-sgio-for-SCSI-generic-host-device.patch
index d33790c..babafba 100644
--- a/SOURCES/libvirt-RHEL-qemu-Add-check-for-unpriv-sgio-for-SCSI-generic-host-device.patch
+++ b/SOURCES/libvirt-RHEL-qemu-Add-check-for-unpriv-sgio-for-SCSI-generic-host-device.patch
@@ -1,5 +1,5 @@
-From d43807caf54d1ded1d79f5338ad63e4af9af3ca3 Mon Sep 17 00:00:00 2001
-Message-Id: <d43807caf54d1ded1d79f5338ad63e4af9af3ca3@dist-git>
+From a5de71de8ed6b67511209f3652f74d5877018b00 Mon Sep 17 00:00:00 2001
+Message-Id: <a5de71de8ed6b67511209f3652f74d5877018b00@dist-git>
 From: John Ferlan <jferlan@redhat.com>
 Date: Mon, 17 Dec 2018 20:42:31 -0500
 Subject: [PATCH] RHEL: qemu: Add check for unpriv sgio for SCSI generic host
@@ -26,7 +26,7 @@ Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
  1 file changed, 18 insertions(+), 2 deletions(-)
 
 diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
-index 3fee5fe687..12afed8aa2 100644
+index b4e4b0fe81..846ec1c729 100644
 --- a/src/qemu/qemu_conf.c
 +++ b/src/qemu/qemu_conf.c
 @@ -1743,13 +1743,29 @@ qemuSharedHostdevAddRemoveInternal(virQEMUDriver *driver,
@@ -62,5 +62,5 @@ index 3fee5fe687..12afed8aa2 100644
  
      qemuDriverLock(driver);
 -- 
-2.33.1
+2.34.1
 
diff --git a/SOURCES/libvirt-RHEL-virscsi-Check-device-type-before-getting-it-s-dev-node-name.patch b/SOURCES/libvirt-RHEL-virscsi-Check-device-type-before-getting-it-s-dev-node-name.patch
index 90d9aa3..d004796 100644
--- a/SOURCES/libvirt-RHEL-virscsi-Check-device-type-before-getting-it-s-dev-node-name.patch
+++ b/SOURCES/libvirt-RHEL-virscsi-Check-device-type-before-getting-it-s-dev-node-name.patch
@@ -1,5 +1,5 @@
-From 5e5e91e73bb1f597d4669a39f4bba0615f0dc126 Mon Sep 17 00:00:00 2001
-Message-Id: <5e5e91e73bb1f597d4669a39f4bba0615f0dc126@dist-git>
+From b2bfe4e417e1a8a3703ef88320d38b555ef9d79f Mon Sep 17 00:00:00 2001
+Message-Id: <b2bfe4e417e1a8a3703ef88320d38b555ef9d79f@dist-git>
 From: Michal Privoznik <mprivozn@redhat.com>
 Date: Fri, 6 Mar 2020 15:52:21 +0100
 Subject: [PATCH] RHEL: virscsi: Check device type before getting it's /dev
@@ -211,5 +211,5 @@ index 0000000000..573541ac97
 @@ -0,0 +1 @@
 +0
 -- 
-2.33.1
+2.34.1
 
diff --git a/SOURCES/libvirt-RHEL-virscsi-Introduce-and-use-virSCSIDeviceGetUnprivSGIOSysfsPath.patch b/SOURCES/libvirt-RHEL-virscsi-Introduce-and-use-virSCSIDeviceGetUnprivSGIOSysfsPath.patch
index 82614be..aa8864a 100644
--- a/SOURCES/libvirt-RHEL-virscsi-Introduce-and-use-virSCSIDeviceGetUnprivSGIOSysfsPath.patch
+++ b/SOURCES/libvirt-RHEL-virscsi-Introduce-and-use-virSCSIDeviceGetUnprivSGIOSysfsPath.patch
@@ -1,5 +1,5 @@
-From 118b5968602be2a40305dc2cc638f5b1aa442c94 Mon Sep 17 00:00:00 2001
-Message-Id: <118b5968602be2a40305dc2cc638f5b1aa442c94@dist-git>
+From 1029f562d8eb54e8866e671dfa8c731b5f656dbe Mon Sep 17 00:00:00 2001
+Message-Id: <1029f562d8eb54e8866e671dfa8c731b5f656dbe@dist-git>
 From: Michal Privoznik <mprivozn@redhat.com>
 Date: Fri, 6 Mar 2020 15:52:23 +0100
 Subject: [PATCH] RHEL: virscsi: Introduce and use
@@ -30,10 +30,10 @@ Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
  6 files changed, 50 insertions(+), 32 deletions(-)
 
 diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
-index 55ae7d5b6f..1c7f776043 100644
+index b98cb0f66d..98bf2352dd 100644
 --- a/src/libvirt_private.syms
 +++ b/src/libvirt_private.syms
-@@ -3194,6 +3194,7 @@ virSCSIDeviceGetSgName;
+@@ -3201,6 +3201,7 @@ virSCSIDeviceGetSgName;
  virSCSIDeviceGetShareable;
  virSCSIDeviceGetTarget;
  virSCSIDeviceGetUnit;
@@ -42,7 +42,7 @@ index 55ae7d5b6f..1c7f776043 100644
  virSCSIDeviceListAdd;
  virSCSIDeviceListCount;
 diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
-index 12afed8aa2..e8b6ddafa1 100644
+index 846ec1c729..e0f1272153 100644
 --- a/src/qemu/qemu_conf.c
 +++ b/src/qemu/qemu_conf.c
 @@ -1500,7 +1500,7 @@ qemuCheckUnprivSGIO(GHashTable *sharedDevices,
@@ -54,7 +54,7 @@ index 12afed8aa2..e8b6ddafa1 100644
          return -1;
  
      /* Error message on failure needs to be handled in caller
-@@ -1852,39 +1852,46 @@ qemuSetUnprivSGIO(virDomainDeviceDef *dev)
+@@ -1851,39 +1851,46 @@ qemuSetUnprivSGIO(virDomainDeviceDef *dev)
      virDomainDiskDef *disk = NULL;
      virDomainHostdevDef *hostdev = NULL;
      g_autofree char *sysfs_path = NULL;
@@ -110,7 +110,7 @@ index 12afed8aa2..e8b6ddafa1 100644
      /* By default, filter the SG_IO commands, i.e. set unpriv_sgio to 0.  */
      if (dev->type == VIR_DOMAIN_DEVICE_DISK) {
          if (disk->sgio == VIR_DOMAIN_DEVICE_SGIO_UNFILTERED)
-@@ -1904,11 +1911,11 @@ qemuSetUnprivSGIO(virDomainDeviceDef *dev)
+@@ -1903,11 +1910,11 @@ qemuSetUnprivSGIO(virDomainDeviceDef *dev)
      if (virFileExists(sysfs_path) || val == 1) {
          int curr_val;
  
@@ -268,5 +268,5 @@ index 854b494890..da267c6446 100644
  char *virGetUnprivSGIOSysfsPath(const char *path,
                                  const char *sysfs_dir);
 -- 
-2.33.1
+2.34.1
 
diff --git a/SOURCES/libvirt-RHEL-virscsi-Support-TAPEs-in-virSCSIDeviceGetDevName.patch b/SOURCES/libvirt-RHEL-virscsi-Support-TAPEs-in-virSCSIDeviceGetDevName.patch
index c40415e..8b2226f 100644
--- a/SOURCES/libvirt-RHEL-virscsi-Support-TAPEs-in-virSCSIDeviceGetDevName.patch
+++ b/SOURCES/libvirt-RHEL-virscsi-Support-TAPEs-in-virSCSIDeviceGetDevName.patch
@@ -1,5 +1,5 @@
-From 4df31ff37d48a17f6fe0341215a60c892e93697d Mon Sep 17 00:00:00 2001
-Message-Id: <4df31ff37d48a17f6fe0341215a60c892e93697d@dist-git>
+From 7ea0c04c8a96a420be459427f9d15768cfccce70 Mon Sep 17 00:00:00 2001
+Message-Id: <7ea0c04c8a96a420be459427f9d15768cfccce70@dist-git>
 From: Michal Privoznik <mprivozn@redhat.com>
 Date: Fri, 6 Mar 2020 15:52:22 +0100
 Subject: [PATCH] RHEL: virscsi: Support TAPEs in virSCSIDeviceGetDevName()
@@ -196,5 +196,5 @@ index c96699e157..924b77af08 100644
          ret = -1;
  
 -- 
-2.33.1
+2.34.1
 
diff --git a/SOURCES/libvirt-RHEL-virutil-Accept-non-block-devices-in-virGetDeviceID.patch b/SOURCES/libvirt-RHEL-virutil-Accept-non-block-devices-in-virGetDeviceID.patch
index 2edf1ad..22f6d44 100644
--- a/SOURCES/libvirt-RHEL-virutil-Accept-non-block-devices-in-virGetDeviceID.patch
+++ b/SOURCES/libvirt-RHEL-virutil-Accept-non-block-devices-in-virGetDeviceID.patch
@@ -1,5 +1,5 @@
-From 82715bfd06ae16b20bf7cb872f43013e9fdb97a7 Mon Sep 17 00:00:00 2001
-Message-Id: <82715bfd06ae16b20bf7cb872f43013e9fdb97a7@dist-git>
+From 00973f13a68ba4b7645ca66ecea8cdbecea29203 Mon Sep 17 00:00:00 2001
+Message-Id: <00973f13a68ba4b7645ca66ecea8cdbecea29203@dist-git>
 From: Michal Privoznik <mprivozn@redhat.com>
 Date: Fri, 6 Mar 2020 15:52:24 +0100
 Subject: [PATCH] RHEL: virutil: Accept non-block devices in virGetDeviceID()
@@ -33,5 +33,5 @@ index b1e37b45c5..ced8493516 100644
          *maj = major(sb.st_rdev);
      if (min)
 -- 
-2.33.1
+2.34.1
 
diff --git a/SOURCES/symlinks b/SOURCES/symlinks
index 6060043..07ce0ed 100644
--- a/SOURCES/symlinks
+++ b/SOURCES/symlinks
@@ -164,6 +164,7 @@ tests/qemuxml2xmloutdata/fd-memory-no-numa-topology.xml ../qemuxml2argvdata/fd-m
 tests/qemuxml2xmloutdata/fd-memory-numa-topology.xml ../qemuxml2argvdata/fd-memory-numa-topology.xml
 tests/qemuxml2xmloutdata/fd-memory-numa-topology2.xml ../qemuxml2argvdata/fd-memory-numa-topology2.xml
 tests/qemuxml2xmloutdata/fd-memory-numa-topology3.xml ../qemuxml2argvdata/fd-memory-numa-topology3.xml
+tests/qemuxml2xmloutdata/fd-memory-numa-topology4.x86_64-latest.xml ../qemuxml2argvdata/fd-memory-numa-topology4.xml
 tests/qemuxml2xmloutdata/hugepages-default-2M.xml ../qemuxml2argvdata/hugepages-default-2M.xml
 tests/qemuxml2xmloutdata/hugepages-default-system-size.xml ../qemuxml2argvdata/hugepages-default-system-size.xml
 tests/qemuxml2xmloutdata/hugepages-memaccess.xml ../qemuxml2argvdata/hugepages-memaccess.xml
diff --git a/SPECS/libvirt.spec b/SPECS/libvirt.spec
index c938168..095a428 100644
--- a/SPECS/libvirt.spec
+++ b/SPECS/libvirt.spec
@@ -190,6 +190,10 @@
 %define qemu_user  qemu
 %define qemu_group  qemu
 
+# Locations for QEMU data
+%define qemu_moddir %{_libdir}/qemu
+%define qemu_datadir %{_datadir}/qemu
+
 
 # RHEL releases provide stable tool chains and so it is safe to turn
 # compiler warning into errors without being worried about frequent
@@ -205,7 +209,7 @@
 
 Summary: Library providing a simple virtualization API
 Name: libvirt
-Version: 7.9.0
+Version: 7.10.0
 Release: 1%{?dist}%{?extra_release}
 License: LGPLv2+
 URL: https://libvirt.org/
@@ -1193,6 +1197,8 @@ export SOURCE_DATE_EPOCH=$(stat --printf='%Y' %{_specdir}/%{name}.spec)
            %{arg_packager_version} \
            -Dqemu_user=%{qemu_user} \
            -Dqemu_group=%{qemu_group} \
+           -Dqemu_moddir=%{qemu_moddir} \
+           -Dqemu_datadir=%{qemu_datadir} \
            -Dtls_priority=%{tls_priority} \
            %{?enable_werror} \
            -Dexpensive_tests=enabled \
@@ -1225,7 +1231,6 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/storage-file/*.a
 rm -f $RPM_BUILD_ROOT%{wireshark_plugindir}/libvirt.la
 %endif
 
-install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/lib/libvirt/dnsmasq/
 # We don't want to install /etc/libvirt/qemu/networks in the main %%files list
 # because if the admin wants to delete the default network completely, we don't
 # want to end up re-incarnating it on every RPM upgrade.
@@ -2016,6 +2021,7 @@ exit 0
 %{_mandir}/man1/virt-pki-validate.1*
 %{_bindir}/virsh
 %{_bindir}/virt-xml-validate
+%{_bindir}/virt-pki-query-dn
 %{_bindir}/virt-pki-validate
 
 %{_datadir}/bash-completion/completions/virsh
@@ -2098,6 +2104,11 @@ exit 0
 
 
 %changelog
+* Wed Dec  1 2021 Jiri Denemark <jdenemar@redhat.com> - 7.10.0-1
+- Rebased to libvirt-7.10.0 (rhbz#2012802)
+- The rebase also fixes the following bugs:
+    rhbz#1845468, rhbz#2017928, rhbz#2024419, rhbz#1953389, rhbz#1510237
+
 * Wed Nov  3 2021 Jiri Denemark <jdenemar@redhat.com> - 7.9.0-1
 - Rebased to libvirt-7.9.0 (rhbz#2012802)
 - The rebase also fixes the following bugs: