From: Michal Privoznik Date: Mon, 27 Oct 2025 13:28:08 +0000 (+0100) Subject: qemu_command: Generate virtio options for memory device X-Git-Tag: v11.9.0-rc1~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e6d1cb69d50a050833f0a6f96d22341ee13ac798;p=thirdparty%2Flibvirt.git qemu_command: Generate virtio options for memory device Thanks to previous refactors (namely v11.1.0-rc1~142) this is trivial. There's all the infrastructure needed to generate virtio options onto cmd line, all that's left to do is set a pointer to appropriate struct member. Resolves: https://issues.redhat.com/browse/RHEL-7493 Signed-off-by: Michal Privoznik Reviewed-by: Jiri Denemark --- diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index fcf5fc1935..c538a9fb2f 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -983,9 +983,11 @@ qemuBuildVirtioDevGetConfigDev(const virDomainDeviceDef *device, switch (device->data.memory->model) { case VIR_DOMAIN_MEMORY_MODEL_VIRTIO_PMEM: *baseName = "virtio-pmem"; + *virtioOptions = device->data.memory->virtio; break; case VIR_DOMAIN_MEMORY_MODEL_VIRTIO_MEM: *baseName = "virtio-mem"; + *virtioOptions = device->data.memory->virtio; break; case VIR_DOMAIN_MEMORY_MODEL_DIMM: case VIR_DOMAIN_MEMORY_MODEL_NVDIMM: diff --git a/tests/qemuxmlconfdata/virtio-options.x86_64-latest.args b/tests/qemuxmlconfdata/virtio-options.x86_64-latest.args index f2b9ee2afe..0f65cefd57 100644 --- a/tests/qemuxmlconfdata/virtio-options.x86_64-latest.args +++ b/tests/qemuxmlconfdata/virtio-options.x86_64-latest.args @@ -31,7 +31,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -device '{"driver":"virtio-scsi-pci","iommu_platform":true,"ats":true,"packed":true,"page-per-vq":true,"id":"scsi0","bus":"pci.0","addr":"0x8"}' \ -device '{"driver":"virtio-serial-pci","iommu_platform":true,"ats":true,"packed":true,"page-per-vq":true,"id":"virtio-serial0","bus":"pci.0","addr":"0x9"}' \ -object '{"qom-type":"memory-backend-file","id":"memvirtiomem0","mem-path":"/dev/hugepages2M/libvirt/qemu/-1-QEMUGuest1","reserve":false,"size":2147483648,"host-nodes":[1,2,3],"policy":"bind"}' \ --device '{"driver":"virtio-mem-pci","node":0,"block-size":2097152,"requested-size":1073741824,"memdev":"memvirtiomem0","prealloc":true,"memaddr":5637144576,"dynamic-memslots":true,"id":"virtiomem0","bus":"pci.0","addr":"0x5"}' \ +-device '{"driver":"virtio-mem-pci","iommu_platform":true,"ats":true,"packed":true,"page-per-vq":true,"node":0,"block-size":2097152,"requested-size":1073741824,"memdev":"memvirtiomem0","prealloc":true,"memaddr":5637144576,"dynamic-memslots":true,"id":"virtiomem0","bus":"pci.0","addr":"0x5"}' \ -blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/img1","node-name":"libvirt-1-storage","read-only":false}' \ -device '{"driver":"virtio-blk-pci","iommu_platform":true,"ats":true,"packed":true,"page-per-vq":true,"bus":"pci.0","addr":"0xa","drive":"libvirt-1-storage","id":"virtio-disk0","bootindex":1}' \ -fsdev local,security_model=passthrough,id=fsdev-fs0,path=/export/fs1 \