[PATCH for 7.0.0 v1 00/26] Introduce virtio memory support

Michal Privoznik mprivozn at redhat.com
Fri Nov 27 15:02:46 UTC 2020


Available also here:

https://gitlab.com/MichalPrivoznik/libvirt/-/commits/virtio_mem/

There are new virtio variants of pc-dimm and nvdimm devices. This is the
first attempt to impalement support for them in libvirt.

Thanks to David Hildenbrand for his valuable input!

Michal Prívozník (26):
  viruuid: Rework virUUIDIsValid()
  internal.h: Introduce VIR_IS_POW2()
  docs: Fix nvdimm example wrt to <uuid/>
  domain_conf: Check NVDIMM UUID in ABI stability
  qemu_domain_address: Reformat qemuDomainAssignS390Addresses()
  conf: Require nvdimm path in validate step
  domain_conf: Fix virDomainMemoryModel type
  virDomainMemorySourceDefFormat: Utilize virXMLFormatElement()
  virDomainMemoryTargetDefFormat: Utilize virXMLFormatElement()
  qemu: Move mem validation into post parse validator
  conf: Move some of virDomainMemoryDef members into a union
  conf: Introduce virtio-pmem <memory/> model
  qemu_capabilities: Introduce QEMU_CAPS_DEVICE_VIRTIO_{P}MEM_PCI
  qemu_validate: Require virtio-mem device for mem model virtio
  security: Relabel virtio mem
  qemu: Allow virtio-pmem in CGroups
  qemu: Create virtio-pmem in domain namespace
  qemu_command: Move dimm into qemuBuildDeviceAddressStr()
  qemu: Build command line for virtio-pmem
  conf: Introduce virtio-mem <memory/> model
  qemu: Build command line for virtio-mem
  qemu: Wire up <memory/> live update
  qemu: Wire up MEMORY_DEVICE_SIZE_CHANGE event
  qemu: Refresh the actual size of virtio-mem on monitor reconnect
  virsh: Simplify @flags handing in cmdSetmem() and cmdSetmaxmem()
  virsh: Introduce --virtio to setmem

 docs/formatdomain.rst                         |  70 +++-
 docs/schemas/domaincommon.rng                 |  16 +
 src/conf/domain_conf.c                        | 372 ++++++++++++++----
 src/conf/domain_conf.h                        |  38 +-
 src/internal.h                                |  10 +
 src/libvirt_private.syms                      |   2 +
 src/qemu/qemu_alias.c                         |  59 ++-
 src/qemu/qemu_capabilities.c                  |   4 +
 src/qemu/qemu_capabilities.h                  |   2 +
 src/qemu/qemu_cgroup.c                        |  43 +-
 src/qemu/qemu_command.c                       | 172 +++++---
 src/qemu/qemu_command.h                       |   5 +-
 src/qemu/qemu_domain.c                        |  99 +++--
 src/qemu/qemu_domain.h                        |   1 +
 src/qemu/qemu_domain_address.c                |  98 +++--
 src/qemu/qemu_domain_address.h                |   3 +-
 src/qemu/qemu_driver.c                        | 198 +++++++++-
 src/qemu/qemu_hotplug.c                       |  22 +-
 src/qemu/qemu_hotplug.h                       |   5 +
 src/qemu/qemu_monitor.c                       |  37 ++
 src/qemu/qemu_monitor.h                       |  27 ++
 src/qemu/qemu_monitor_json.c                  |  94 +++--
 src/qemu/qemu_monitor_json.h                  |   5 +
 src/qemu/qemu_namespace.c                     |  19 +-
 src/qemu/qemu_process.c                       |  52 ++-
 src/qemu/qemu_validate.c                      |  78 ++--
 src/security/security_apparmor.c              |  35 +-
 src/security/security_dac.c                   |  48 ++-
 src/security/security_selinux.c               |  48 ++-
 src/security/virt-aa-helper.c                 |  22 +-
 src/util/virrandom.c                          |   2 +-
 src/util/viruuid.c                            |  17 +-
 src/util/viruuid.h                            |   2 +-
 .../caps_4.1.0.x86_64.xml                     |   1 +
 .../caps_4.2.0.x86_64.xml                     |   1 +
 .../caps_5.0.0.x86_64.xml                     |   1 +
 .../caps_5.1.0.x86_64.xml                     |   2 +
 .../caps_5.2.0.x86_64.xml                     |   2 +
 ...mory-hotplug-virtio-mem.x86_64-latest.args |  53 +++
 .../memory-hotplug-virtio-mem.xml             |  78 ++++
 ...ory-hotplug-virtio-pmem.x86_64-latest.args |  45 +++
 .../memory-hotplug-virtio-pmem.xml            |  54 +++
 tests/qemuxml2argvtest.c                      |   2 +
 ...emory-hotplug-virtio-mem.x86_64-latest.xml |   1 +
 ...mory-hotplug-virtio-pmem.x86_64-latest.xml |   1 +
 tests/qemuxml2xmltest.c                       |   3 +
 tools/virsh-domain.c                          | 138 ++++++-
 47 files changed, 1703 insertions(+), 384 deletions(-)
 create mode 100644 tests/qemuxml2argvdata/memory-hotplug-virtio-mem.x86_64-latest.args
 create mode 100644 tests/qemuxml2argvdata/memory-hotplug-virtio-mem.xml
 create mode 100644 tests/qemuxml2argvdata/memory-hotplug-virtio-pmem.x86_64-latest.args
 create mode 100644 tests/qemuxml2argvdata/memory-hotplug-virtio-pmem.xml
 create mode 120000 tests/qemuxml2xmloutdata/memory-hotplug-virtio-mem.x86_64-latest.xml
 create mode 120000 tests/qemuxml2xmloutdata/memory-hotplug-virtio-pmem.x86_64-latest.xml

-- 
2.26.2




More information about the libvir-list mailing list