[PATCH 0/7] storage_file_probe: Handle qcow2 images with 'protocol' driver name in 'backing file format' field (part 1 - the fix)
by Peter Krempa
See 6/7 and 7/7 for the rationale. Further patches will be posted to
refactor the rest of the parsers which are bitrotten.
Peter Krempa (7):
storage_file_probe: Remove unused state 'BACKING_STORE_ERROR'
virStorageFileProbeGetMetadata: Do not partially skip probing of the
image
storage_file_probe: Remove BACKING_STORE_OK,BACKING_STORE_INVALID
states
virstoragetest: Use strings for storage type and format in output data
virstoragetest: Format detected/unprocessed backing store format into
output files
virstoragetest: Add test cases for QCOW2 files with a protocol name as
backing file format
storage_file_probe: Treat qcow2 images with protocol drivers in
backing store field as raw
src/storage_file/storage_file_probe.c | 71 ++++++++----------
tests/virstoragetest.c | 19 ++++-
.../images/qcow2-protocol-backing-file.qcow2 | Bin 0 -> 196616 bytes
.../images/qcow2-protocol-backing-nbd.qcow2 | Bin 0 -> 196616 bytes
tests/virstoragetestdata/out/directory-dir | 5 +-
tests/virstoragetestdata/out/directory-none | 5 +-
tests/virstoragetestdata/out/directory-raw | 5 +-
.../out/qcow2-auto_qcow2-qcow2_raw-raw | 5 +-
.../out/qcow2-auto_raw-raw-relative | 5 +-
.../out/qcow2-protocol-backing-file | 21 ++++++
.../out/qcow2-protocol-backing-nbd | 21 ++++++
.../out/qcow2-qcow2_nbd-raw | 10 ++-
.../out/qcow2-qcow2_qcow2-auto | 10 ++-
.../out/qcow2-qcow2_qcow2-qcow2_qcow2-auto | 15 ++--
.../out/qcow2-qcow2_qcow2-qcow2_raw-auto | 15 ++--
.../out/qcow2-qcow2_qcow2-qcow2_raw-raw | 15 ++--
.../out/qcow2-qcow2_raw-raw-relative | 10 ++-
tests/virstoragetestdata/out/qcow2-symlinks | 15 ++--
tests/virstoragetestdata/out/qed-auto_raw | 5 +-
tests/virstoragetestdata/out/qed-qed_raw | 10 ++-
tests/virstoragetestdata/out/raw-auto | 5 +-
tests/virstoragetestdata/out/raw-raw | 5 +-
22 files changed, 173 insertions(+), 99 deletions(-)
create mode 100644 tests/virstoragetestdata/images/qcow2-protocol-backing-file.qcow2
create mode 100644 tests/virstoragetestdata/images/qcow2-protocol-backing-nbd.qcow2
create mode 100644 tests/virstoragetestdata/out/qcow2-protocol-backing-file
create mode 100644 tests/virstoragetestdata/out/qcow2-protocol-backing-nbd
--
2.42.0
11 months, 1 week
[PATCH 0/2] qemu: block fixes
by Peter Krempa
Few issues I've found while testing the block layer for an upcoming
patchset.
Peter Krempa (2):
qemu: hotplug: Detect disk backing images before setting up security
access
qemu: block: Don't try to merge bitmaps into 'raw' images
src/qemu/qemu_block.c | 10 ++++++++++
src/qemu/qemu_hotplug.c | 10 +++++-----
2 files changed, 15 insertions(+), 5 deletions(-)
--
2.42.0
11 months, 1 week
[PATCH] virnuma: Avoid integer overflow in virNumaGetPages()
by Michal Privoznik
On systems with humongous pages (16GiB) and 32bit int it's easy
to hit integer overflow in virNumaGetPages(). What happens is,
inside of virNumaGetPages() as we process hugepages for given
NUMA node (e.g. in order to produce capabilities XML), we keep a
sum of sizes of pools in an ULL variable (huge_page_sum). In each
iteration, the variable is incremented by 1024 * page_size *
page_avail. Now, page_size is just an uint, so we have:
ULL += U * U * ULL;
and because of associativity, U * U is computed first and since
we have two operands of the same type, no type expansion happens.
But this means, for humongous pages (like 16GiB) the
multiplication overflows.
Therefore, move the multiplication out of the loop. This helps in
two ways:
1) now we have ULL += U * ULL; which expands the uint in
multiplication,
2) it saves couple of CPU cycles.
Resolves: https://issues.redhat.com/browse/RHEL-16749
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/util/virnuma.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/util/virnuma.c b/src/util/virnuma.c
index 5053a70c61..9393c20875 100644
--- a/src/util/virnuma.c
+++ b/src/util/virnuma.c
@@ -787,9 +787,7 @@ virNumaGetPages(int node,
tmp_free[ntmp] = page_free;
ntmp++;
- /* page_size is in kibibytes while we want huge_page_sum
- * in just bytes. */
- huge_page_sum += 1024 * page_size * page_avail;
+ huge_page_sum += page_size * page_avail;
}
if (direrr < 0)
@@ -800,6 +798,9 @@ virNumaGetPages(int node,
VIR_REALLOC_N(tmp_avail, ntmp + 1);
VIR_REALLOC_N(tmp_free, ntmp + 1);
+ /* page_size is in kibibytes while we want huge_page_sum in just bytes. */
+ huge_page_sum *= 1024;
+
if (virNumaGetPageInfo(node, system_page_size, huge_page_sum,
&tmp_avail[ntmp], &tmp_free[ntmp]) < 0)
return -1;
--
2.41.0
11 months, 1 week
[pushed][libvirt PATCH] Fix cpu-host-model test data
by Tim Wiederhake
This was broken by the recent addition of vmx-* features.
Signed-off-by: Tim Wiederhake <twiederh(a)redhat.com>
---
.../cpu-host-model-fallback-kvm.x86_64-4.2.0.args | 2 +-
.../cpu-host-model-fallback-kvm.x86_64-5.0.0.args | 2 +-
.../cpu-host-model-fallback-kvm.x86_64-latest.args | 2 +-
.../cpu-host-model-nofallback-kvm.x86_64-4.2.0.args | 2 +-
.../cpu-host-model-nofallback-kvm.x86_64-5.0.0.args | 2 +-
.../cpu-host-model-nofallback-kvm.x86_64-latest.args | 2 +-
6 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-4.2.0.args b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-4.2.0.args
index 1111e388d9..f5f0e818af 100644
--- a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-4.2.0.args
+++ b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-4.2.0.args
@@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes \
-machine pc-i440fx-4.2,usb=off,dump-guest-core=off \
-accel kvm \
--cpu Skylake-Client-IBRS,ss=on,vmx=on,hypervisor=on,tsc-adjust=on,clflushopt=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,pdpe1gb=on,skip-l1dfl-vmentry=on,pschange-mc-no=on \
+-cpu Skylake-Client-IBRS,ss=on,vmx=on,hypervisor=on,tsc-adjust=on,clflushopt=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,pdpe1gb=on,skip-l1dfl-vmentry=on,pschange-mc-no=on,vmx-ins-outs=on,vmx-true-ctls=on,vmx-store-lma=on,vmx-activity-hlt=on,vmx-vmwrite-vmexit-fields=on,vmx-apicv-xapic=on,vmx-ept=on,vmx-desc-exit=on,vmx-rdtscp-exit=on,vmx-apicv-x2apic=on,vmx-vpid=on,vmx-wbinvd-exit=on,vmx-unrestricted-guest=on,vmx-rdrand-exit=on,vmx-invpcid-exit=on,vmx-vmfunc=on,vmx-shadow-vmcs=on,vmx-rdseed-exit=on,vmx-pml=on,vmx-xsaves=on,vmx-invvpid=on,vmx-invvpid-single-addr=on,vmx-invvpid-all-context=on,vmx-ept-execonly=on,vmx-page-walk-4=on,vmx-ept-2mb=on,vmx-ept-1gb=on,vmx-invept=on,vmx-eptad=on,vmx-invept-single-context=on,vmx-invept-all-context=on,vmx-intr-exit=on,vmx-nmi-exit=on,vmx-vnmi=on,vmx-preemption-timer=on,vmx-vintr-pending=on,vmx-tsc-offset=on,vmx-hlt-exit=on,vmx-invlpg-exit=on,vmx-mwait-exit=on,vmx-rdpmc-exit=on,vmx-rdtsc-exit=on,vmx-cr3-load-noexit=on,vmx-cr3-store-noexit=on,vmx-cr8-load-exit=on,vmx-cr8-store-exit=on,vmx-flexpriority=on,vmx-vnmi-pending=on,vmx-movdr-exit=on,vmx-io-exit=on,vmx-io-bitmap=on,vmx-mtf=on,vmx-msr-bitmap=on,vmx-monitor-exit=on,vmx-pause-exit=on,vmx-secondary-ctls=on,vmx-exit-nosave-debugctl=on,vmx-exit-ack-intr=on,vmx-exit-save-pat=on,vmx-exit-load-pat=on,vmx-exit-save-efer=on,vmx-exit-load-efer=on,vmx-exit-save-preemption-timer=on,vmx-entry-noload-debugctl=on,vmx-entry-ia32e-mode=on,vmx-entry-load-pat=on,vmx-entry-load-efer=on,vmx-eptp-switching=on \
-m size=219136k \
-overcommit mem-lock=off \
-smp 6,sockets=6,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-5.0.0.args b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-5.0.0.args
index f51c51bcb3..699f48fbaa 100644
--- a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-5.0.0.args
+++ b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-5.0.0.args
@@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes \
-machine pc-i440fx-5.0,usb=off,dump-guest-core=off \
-accel kvm \
--cpu Skylake-Client-IBRS,ss=on,vmx=on,hypervisor=on,tsc-adjust=on,clflushopt=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,pdpe1gb=on,skip-l1dfl-vmentry=on,pschange-mc-no=on \
+-cpu Skylake-Client-IBRS,ss=on,vmx=on,hypervisor=on,tsc-adjust=on,clflushopt=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,pdpe1gb=on,skip-l1dfl-vmentry=on,pschange-mc-no=on,vmx-ins-outs=on,vmx-true-ctls=on,vmx-store-lma=on,vmx-activity-hlt=on,vmx-vmwrite-vmexit-fields=on,vmx-apicv-xapic=on,vmx-ept=on,vmx-desc-exit=on,vmx-rdtscp-exit=on,vmx-apicv-x2apic=on,vmx-vpid=on,vmx-wbinvd-exit=on,vmx-unrestricted-guest=on,vmx-rdrand-exit=on,vmx-invpcid-exit=on,vmx-vmfunc=on,vmx-shadow-vmcs=on,vmx-rdseed-exit=on,vmx-pml=on,vmx-xsaves=on,vmx-invvpid=on,vmx-invvpid-single-addr=on,vmx-invvpid-all-context=on,vmx-ept-execonly=on,vmx-page-walk-4=on,vmx-ept-2mb=on,vmx-ept-1gb=on,vmx-invept=on,vmx-eptad=on,vmx-invept-single-context=on,vmx-invept-all-context=on,vmx-intr-exit=on,vmx-nmi-exit=on,vmx-vnmi=on,vmx-preemption-timer=on,vmx-vintr-pending=on,vmx-tsc-offset=on,vmx-hlt-exit=on,vmx-invlpg-exit=on,vmx-mwait-exit=on,vmx-rdpmc-exit=on,vmx-rdtsc-exit=on,vmx-cr3-load-noexit=on,vmx-cr3-store-noexit=on,vmx-cr8-load-exit=on,vmx-cr8-store-exit=on,vmx-flexpriority=on,vmx-vnmi-pending=on,vmx-movdr-exit=on,vmx-io-exit=on,vmx-io-bitmap=on,vmx-mtf=on,vmx-msr-bitmap=on,vmx-monitor-exit=on,vmx-pause-exit=on,vmx-secondary-ctls=on,vmx-exit-nosave-debugctl=on,vmx-exit-ack-intr=on,vmx-exit-save-pat=on,vmx-exit-load-pat=on,vmx-exit-save-efer=on,vmx-exit-load-efer=on,vmx-exit-save-preemption-timer=on,vmx-entry-noload-debugctl=on,vmx-entry-ia32e-mode=on,vmx-entry-load-pat=on,vmx-entry-load-efer=on,vmx-eptp-switching=on \
-m size=219136k \
-overcommit mem-lock=off \
-smp 6,sockets=6,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-latest.args
index 21b8184e55..c11c2118bf 100644
--- a/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/cpu-host-model-fallback-kvm.x86_64-latest.args
@@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \
-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \
-accel kvm \
--cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,xsaves=off \
+-cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,gds-no=on,xsaves=off \
-m size=219136k \
-object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-4.2.0.args b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-4.2.0.args
index 1111e388d9..f5f0e818af 100644
--- a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-4.2.0.args
+++ b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-4.2.0.args
@@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes \
-machine pc-i440fx-4.2,usb=off,dump-guest-core=off \
-accel kvm \
--cpu Skylake-Client-IBRS,ss=on,vmx=on,hypervisor=on,tsc-adjust=on,clflushopt=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,pdpe1gb=on,skip-l1dfl-vmentry=on,pschange-mc-no=on \
+-cpu Skylake-Client-IBRS,ss=on,vmx=on,hypervisor=on,tsc-adjust=on,clflushopt=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,pdpe1gb=on,skip-l1dfl-vmentry=on,pschange-mc-no=on,vmx-ins-outs=on,vmx-true-ctls=on,vmx-store-lma=on,vmx-activity-hlt=on,vmx-vmwrite-vmexit-fields=on,vmx-apicv-xapic=on,vmx-ept=on,vmx-desc-exit=on,vmx-rdtscp-exit=on,vmx-apicv-x2apic=on,vmx-vpid=on,vmx-wbinvd-exit=on,vmx-unrestricted-guest=on,vmx-rdrand-exit=on,vmx-invpcid-exit=on,vmx-vmfunc=on,vmx-shadow-vmcs=on,vmx-rdseed-exit=on,vmx-pml=on,vmx-xsaves=on,vmx-invvpid=on,vmx-invvpid-single-addr=on,vmx-invvpid-all-context=on,vmx-ept-execonly=on,vmx-page-walk-4=on,vmx-ept-2mb=on,vmx-ept-1gb=on,vmx-invept=on,vmx-eptad=on,vmx-invept-single-context=on,vmx-invept-all-context=on,vmx-intr-exit=on,vmx-nmi-exit=on,vmx-vnmi=on,vmx-preemption-timer=on,vmx-vintr-pending=on,vmx-tsc-offset=on,vmx-hlt-exit=on,vmx-invlpg-exit=on,vmx-mwait-exit=on,vmx-rdpmc-exit=on,vmx-rdtsc-exit=on,vmx-cr3-load-noexit=on,vmx-cr3-store-noexit=on,vmx-cr8-load-exit=on,vmx-cr8-store-exit=on,vmx-flexpriority=on,vmx-vnmi-pending=on,vmx-movdr-exit=on,vmx-io-exit=on,vmx-io-bitmap=on,vmx-mtf=on,vmx-msr-bitmap=on,vmx-monitor-exit=on,vmx-pause-exit=on,vmx-secondary-ctls=on,vmx-exit-nosave-debugctl=on,vmx-exit-ack-intr=on,vmx-exit-save-pat=on,vmx-exit-load-pat=on,vmx-exit-save-efer=on,vmx-exit-load-efer=on,vmx-exit-save-preemption-timer=on,vmx-entry-noload-debugctl=on,vmx-entry-ia32e-mode=on,vmx-entry-load-pat=on,vmx-entry-load-efer=on,vmx-eptp-switching=on \
-m size=219136k \
-overcommit mem-lock=off \
-smp 6,sockets=6,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-5.0.0.args b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-5.0.0.args
index f51c51bcb3..699f48fbaa 100644
--- a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-5.0.0.args
+++ b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-5.0.0.args
@@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes \
-machine pc-i440fx-5.0,usb=off,dump-guest-core=off \
-accel kvm \
--cpu Skylake-Client-IBRS,ss=on,vmx=on,hypervisor=on,tsc-adjust=on,clflushopt=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,pdpe1gb=on,skip-l1dfl-vmentry=on,pschange-mc-no=on \
+-cpu Skylake-Client-IBRS,ss=on,vmx=on,hypervisor=on,tsc-adjust=on,clflushopt=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,pdpe1gb=on,skip-l1dfl-vmentry=on,pschange-mc-no=on,vmx-ins-outs=on,vmx-true-ctls=on,vmx-store-lma=on,vmx-activity-hlt=on,vmx-vmwrite-vmexit-fields=on,vmx-apicv-xapic=on,vmx-ept=on,vmx-desc-exit=on,vmx-rdtscp-exit=on,vmx-apicv-x2apic=on,vmx-vpid=on,vmx-wbinvd-exit=on,vmx-unrestricted-guest=on,vmx-rdrand-exit=on,vmx-invpcid-exit=on,vmx-vmfunc=on,vmx-shadow-vmcs=on,vmx-rdseed-exit=on,vmx-pml=on,vmx-xsaves=on,vmx-invvpid=on,vmx-invvpid-single-addr=on,vmx-invvpid-all-context=on,vmx-ept-execonly=on,vmx-page-walk-4=on,vmx-ept-2mb=on,vmx-ept-1gb=on,vmx-invept=on,vmx-eptad=on,vmx-invept-single-context=on,vmx-invept-all-context=on,vmx-intr-exit=on,vmx-nmi-exit=on,vmx-vnmi=on,vmx-preemption-timer=on,vmx-vintr-pending=on,vmx-tsc-offset=on,vmx-hlt-exit=on,vmx-invlpg-exit=on,vmx-mwait-exit=on,vmx-rdpmc-exit=on,vmx-rdtsc-exit=on,vmx-cr3-load-noexit=on,vmx-cr3-store-noexit=on,vmx-cr8-load-exit=on,vmx-cr8-store-exit=on,vmx-flexpriority=on,vmx-vnmi-pending=on,vmx-movdr-exit=on,vmx-io-exit=on,vmx-io-bitmap=on,vmx-mtf=on,vmx-msr-bitmap=on,vmx-monitor-exit=on,vmx-pause-exit=on,vmx-secondary-ctls=on,vmx-exit-nosave-debugctl=on,vmx-exit-ack-intr=on,vmx-exit-save-pat=on,vmx-exit-load-pat=on,vmx-exit-save-efer=on,vmx-exit-load-efer=on,vmx-exit-save-preemption-timer=on,vmx-entry-noload-debugctl=on,vmx-entry-ia32e-mode=on,vmx-entry-load-pat=on,vmx-entry-load-efer=on,vmx-eptp-switching=on \
-m size=219136k \
-overcommit mem-lock=off \
-smp 6,sockets=6,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-latest.args
index 21b8184e55..c11c2118bf 100644
--- a/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/cpu-host-model-nofallback-kvm.x86_64-latest.args
@@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \
-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \
-accel kvm \
--cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,xsaves=off \
+-cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,svme-addr-chk=on,lfence-always-serializing=on,null-sel-clr-base=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,gds-no=on,xsaves=off \
-m size=219136k \
-object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
-overcommit mem-lock=off \
--
2.39.2
11 months, 1 week
[PATCH 0/3] lib: Replace qsort() with g_qsort_with_data()
by Michal Privoznik
Technically, this is a v2 of:
https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/thread/GB...
but it implements a different approach, so I'm sending it anew.
Michal Prívozník (3):
build-aux: Refresh list of nonreentrant functions
lib: Replace qsort() with g_qsort_with_data()
syntax-check: Forbid use of qsort()
build-aux/Makefile.nonreentrant | 18 +++++++-------
build-aux/syntax-check.mk | 9 ++++++-
src/conf/capabilities.c | 8 ++++---
src/conf/domain_conf.c | 6 +++--
src/cpu/cpu.c | 7 +++---
src/cpu/cpu_x86.c | 15 +++++++-----
src/lxc/lxc_container.c | 3 ++-
src/nwfilter/nwfilter_ebiptables_driver.c | 29 +++++++++++++++--------
src/qemu/qemu_monitor_json.c | 6 +++--
src/qemu/qemu_process.c | 7 +++---
src/security/security_manager.c | 9 ++++---
src/util/virfile.c | 8 ++++---
src/util/virhash.c | 9 ++++---
src/util/virresctrl.c | 9 ++++---
src/util/virstring.c | 12 ++++++----
src/util/virstring.h | 8 +++++--
src/util/virtypedparam.c | 9 ++++---
tests/commandhelper.c | 6 +++--
tests/virstringtest.c | 8 +++----
tools/nss/libvirt_nss.c | 3 ++-
tools/virsh-checkpoint.c | 10 ++++----
tools/virsh-domain-monitor.c | 11 +++++----
tools/virsh-host.c | 7 ++++--
tools/virsh-interface.c | 11 +++++----
tools/virsh-network.c | 29 +++++++++++++++--------
tools/virsh-nodedev.c | 11 +++++----
tools/virsh-nwfilter.c | 22 ++++++++++-------
tools/virsh-pool.c | 11 +++++----
tools/virsh-secret.c | 11 +++++----
tools/virsh-snapshot.c | 10 ++++----
tools/virsh-volume.c | 10 +++++---
31 files changed, 213 insertions(+), 119 deletions(-)
--
2.41.0
11 months, 1 week
[PATCH 0/5] conf: Check for dimm/nvimm address conflicts too
by Michal Privoznik
*** BLURB HERE ***
Michal Prívozník (5):
domain_validate: Move memdevice address conflict check into a separate
function
qemuxml2argvdata: Extend memory-hotplug-virtio-mem-overlap-address.xml
virDomainMemoryDefCheckConflict: Check dimm & nvdimm models too
virDomainMemoryDefCheckConflict: Validate dimm slot too
qemu_domain: Drop qemuCheckMemoryDimmConflict()
src/conf/domain_validate.c | 165 +++++++++++-------
src/qemu/qemu_domain.c | 37 ----
...rtio-mem-overlap-address.x86_64-latest.err | 2 +-
...ory-hotplug-virtio-mem-overlap-address.xml | 19 +-
4 files changed, 123 insertions(+), 100 deletions(-)
--
2.41.0
11 months, 1 week
[PULL 05/14] target/nios2: Deprecate the Nios II architecture
by Alex Bennée
From: Philippe Mathieu-Daudé <philmd(a)linaro.org>
See commit 9ba1caf510 ("MAINTAINERS: Mark the Nios II CPU as orphan"),
last contribution from Chris was in 2012 [1] and Marek in 2018 [2].
[1] https://lore.kernel.org/qemu-devel/1352607539-10455-2-git-send-email-crwu...
[2] https://lore.kernel.org/qemu-devel/805fc7b5-03f0-56d4-abfd-ed010d4fa769@d...
Signed-off-by: Philippe Mathieu-Daudé <philmd(a)linaro.org>
Reviewed-by: Richard Henderson <richard.henderson(a)linaro.org>
Acked-by: Marek Vasut <marex(a)denx.de>
Reviewed-by: Thomas Huth <thuth(a)redhat.com>
Message-Id: <20231117070250.32932-1-philmd(a)linaro.org>
Signed-off-by: Alex Bennée <alex.bennee(a)linaro.org>
Message-Id: <20231120150833.2552739-6-alex.bennee(a)linaro.org>
diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index 6c84db90b5..2e15040246 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -236,6 +236,16 @@ it. Since all recent x86 hardware from the past >10 years is capable of the
64-bit x86 extensions, a corresponding 64-bit OS should be used instead.
+System emulator CPUs
+--------------------
+
+Nios II CPU (since 8.2)
+'''''''''''''''''''''''
+
+The Nios II architecture is orphan. The ``nios2`` guest CPU support is
+deprecated and will be removed in a future version of QEMU.
+
+
System emulator machines
------------------------
@@ -254,6 +264,11 @@ These old machine types are quite neglected nowadays and thus might have
various pitfalls with regards to live migration. Use a newer machine type
instead.
+Nios II ``10m50-ghrd`` and ``nios2-generic-nommu`` machines (since 8.2)
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+
+The Nios II architecture is orphan.
+
Backend options
---------------
diff --git a/hw/nios2/10m50_devboard.c b/hw/nios2/10m50_devboard.c
index 952a0dc33e..6cb32f777b 100644
--- a/hw/nios2/10m50_devboard.c
+++ b/hw/nios2/10m50_devboard.c
@@ -160,6 +160,7 @@ static void nios2_10m50_ghrd_class_init(ObjectClass *oc, void *data)
mc->desc = "Altera 10M50 GHRD Nios II design";
mc->init = nios2_10m50_ghrd_init;
mc->is_default = true;
+ mc->deprecation_reason = "Nios II architecture is deprecated";
object_class_property_add_bool(oc, "vic", get_vic, set_vic);
object_class_property_set_description(oc, "vic",
diff --git a/hw/nios2/generic_nommu.c b/hw/nios2/generic_nommu.c
index 48edb3ae37..defa16953f 100644
--- a/hw/nios2/generic_nommu.c
+++ b/hw/nios2/generic_nommu.c
@@ -95,6 +95,7 @@ static void nios2_generic_nommu_machine_init(struct MachineClass *mc)
{
mc->desc = "Generic NOMMU Nios II design";
mc->init = nios2_generic_nommu_init;
+ mc->deprecation_reason = "Nios II architecture is deprecated";
}
DEFINE_MACHINE("nios2-generic-nommu", nios2_generic_nommu_machine_init);
--
2.39.2
11 months, 1 week
[libvirt PATCH v2 0/5] ci: Build RPMs on MinGW
by Andrea Bolognani
Test pipeline: https://gitlab.com/abologna/libvirt/-/pipelines/1075354744
Ignore the macOS 14 failure, it's caused by a temporary issue on the
Cirrus CI side.
Changes since [v1]:
* a few patches have either been pushed (1-4) or are no longer
needed (10), so they have been dropped;
* the last patch has been tweaked a bit and the changes contained
in it are now documented with a code comment.
[v1] https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/thread/Y2...
Andrea Bolognani (5):
rpm: Shuffle BuildRequires around
rpm: Split call to mingw_debug_package
rpm: Introduce with_mingw32/with_mingw64
rpm: Introduce with_native
ci: Build RPMs on MinGW
.gitlab-ci.yml | 11 +-
ci/jobs.sh | 23 ++-
libvirt.spec.in | 460 +++++++++++++++++++++++++++---------------------
3 files changed, 285 insertions(+), 209 deletions(-)
--
2.41.0
11 months, 1 week
[PATCH 0/3] qemuDomainAttachDeviceDiskLiveInternal: Fix error handling and properly hotplug empty cdroms
by Peter Krempa
Patch 3 is best viewed with '-w'
Peter Krempa (3):
qemuDomainAttachDeviceDiskLiveInternal: Fix jumps on error
qemuDomainAttachDeviceDiskLiveInternal: Add missing jump to 'cleanup'
on error
qemu: hotplug: Don't try to setup disk image when hotplugging empty
cdrom drive
src/qemu/qemu_hotplug.c | 100 +++++++++++++++++++++-------------------
1 file changed, 53 insertions(+), 47 deletions(-)
--
2.42.0
11 months, 1 week
Kernel issue or libvirt issue? Where to report?
by Koos Pol
Hi,
After upgrading the VM host (os + kernel) a VM client can no longer use
a pass-through USB device. The syslog of the VM host is flooded with:
nov 08 19:59:46 vmhost kernel: usb 1-3: usbfs: process 1729
(qemu-system-x86) did not claim interface 1 before use
Because of the upgrade the vm host has gotten both a new kernel version
and a new libvirt verion. The vm client has not been touched.
Before I waste everyone's time on an incorrect bug report, would you say
I file this with libvirt or with the openSUSE kernel (the o.s. of the
vmhost)?
Thanks!
Koos
11 months, 1 week