mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-10-03 04:45:46 +00:00
63af8fdeb2
In [1], changes were made to remove the existing auto-alignment for pSeries NVDIMM devices. That design promotes strange situations where the NVDIMM size reported in the domain XML is different from what QEMU is actually using. We removed the auto-alignment and relied on standard size validation. However, this goes against Libvirt design philosophy of not tampering with existing guest behavior, as pointed out by Daniel in [2]. Since we can't know for sure whether there are guests that are relying on the auto-alignment feature to work, the changes made in [1] are a direct violation of this rule. This patch reverts [1] entirely, re-enabling auto-alignment for pSeries NVDIMM as it was before. Changes will be made to ease the limitations of this design without hurting existing guests. This reverts the following commits: - commit2d93cbdea9
Revert "formatdomain.html.in: mention pSeries NVDIMM 'align down' mechanic" - commit0ee56369c8
qemu_domain.c: change qemuDomainMemoryDeviceAlignSize() return type - commit07de813924
qemu_domain.c: do not auto-align ppc64 NVDIMMs - commit0ccceaa57c
qemu_validate.c: add pSeries NVDIMM size alignment validation - commit4fa2202d88
qemu_domain.c: make qemuDomainGetMemorySizeAlignment() public [1] https://www.redhat.com/archives/libvir-list/2020-July/msg02010.html [2] https://www.redhat.com/archives/libvir-list/2020-September/msg00572.html Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Andrea Bolognani <abologna@redhat.com>
39 lines
1.3 KiB
Plaintext
39 lines
1.3 KiB
Plaintext
LC_ALL=C \
|
|
PATH=/bin \
|
|
HOME=/tmp/lib/domain--1-QEMUGuest1 \
|
|
USER=test \
|
|
LOGNAME=test \
|
|
XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \
|
|
XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \
|
|
XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
|
|
QEMU_AUDIO_DRV=none \
|
|
/usr/bin/qemu-system-ppc64 \
|
|
-name guest=QEMUGuest1,debug-threads=on \
|
|
-S \
|
|
-object secret,id=masterKey0,format=raw,\
|
|
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
|
|
-machine pseries,accel=tcg,usb=off,dump-guest-core=off,nvdimm=on \
|
|
-cpu POWER9 \
|
|
-m size=1048576k,slots=16,maxmem=1099511627776k \
|
|
-overcommit mem-lock=off \
|
|
-smp 2,sockets=2,dies=1,cores=1,threads=1 \
|
|
-numa node,nodeid=0,cpus=0-1,mem=1024 \
|
|
-object memory-backend-file,id=memnvdimm0,prealloc=yes,mem-path=/tmp/nvdimm,\
|
|
size=537001984 \
|
|
-device nvdimm,node=0,label-size=131072,\
|
|
uuid=49545eb3-75e1-2d0a-acdd-f0294406c99e,memdev=memnvdimm0,id=nvdimm0,slot=0 \
|
|
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
|
|
-display none \
|
|
-no-user-config \
|
|
-nodefaults \
|
|
-chardev socket,id=charmonitor,fd=1729,server,nowait \
|
|
-mon chardev=charmonitor,id=monitor,mode=control \
|
|
-rtc base=utc \
|
|
-no-shutdown \
|
|
-boot strict=on \
|
|
-device pci-ohci,id=usb,bus=pci.0,addr=0x1 \
|
|
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
|
|
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\
|
|
resourcecontrol=deny \
|
|
-msg timestamp=on
|