[libvirt] [PATCH v5 00/11] Basic implementation of persistent reservations

Michal Privoznik posted 11 patches 5 years, 12 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/cover.1524489077.git.mprivozn@redhat.com
Test syntax-check passed
docs/formatdomain.html.in                          |  23 +-
docs/schemas/domaincommon.rng                      |  34 +--
docs/schemas/storagecommon.rng                     |  50 +++++
m4/virt-driver-qemu.m4                             |   5 +
src/conf/domain_conf.c                             |  38 ++++
src/libvirt_private.syms                           |   6 +
src/qemu/libvirtd_qemu.aug                         |   1 +
src/qemu/qemu.conf                                 |   4 +
src/qemu/qemu_alias.c                              |  18 ++
src/qemu/qemu_alias.h                              |   4 +
src/qemu/qemu_capabilities.c                       |   2 +
src/qemu/qemu_capabilities.h                       |   1 +
src/qemu/qemu_cgroup.c                             |  33 ++-
src/qemu/qemu_command.c                            | 134 ++++++++++++
src/qemu/qemu_command.h                            |   5 +
src/qemu/qemu_conf.c                               |   7 +-
src/qemu/qemu_conf.h                               |   1 +
src/qemu/qemu_domain.c                             |  66 ++++++
src/qemu/qemu_domain.h                             |   5 +
src/qemu/qemu_hotplug.c                            | 149 ++++++++++++-
src/qemu/qemu_process.c                            | 232 +++++++++++++++++++++
src/qemu/qemu_process.h                            |   6 +
src/qemu/test_libvirtd_qemu.aug.in                 |   1 +
src/util/virdevmapper.c                            |   8 +-
src/util/virstoragefile.c                          | 164 +++++++++++++++
src/util/virstoragefile.h                          |  18 ++
tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml   |   1 +
tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml |   1 +
tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml   |   1 +
tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml   |   1 +
tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml  |   1 +
.../disk-virtio-scsi-reservations.args             |  38 ++++
.../disk-virtio-scsi-reservations.xml              |  49 +++++
tests/qemuxml2argvtest.c                           |   4 +
.../disk-virtio-scsi-reservations.xml              |   1 +
tests/qemuxml2xmltest.c                            |   2 +
36 files changed, 1075 insertions(+), 39 deletions(-)
create mode 100644 tests/qemuxml2argvdata/disk-virtio-scsi-reservations.args
create mode 100644 tests/qemuxml2argvdata/disk-virtio-scsi-reservations.xml
create mode 120000 tests/qemuxml2xmloutdata/disk-virtio-scsi-reservations.xml
[libvirt] [PATCH v5 00/11] Basic implementation of persistent reservations
Posted by Michal Privoznik 5 years, 12 months ago
v5 of:

https://www.redhat.com/archives/libvir-list/2018-April/msg00736.html

diff to v4:
- John's review worked in. Partially.

Michal Privoznik (11):
  virstoragefile: Introduce virStoragePRDef
  qemuDomainDiskChangeSupported: Deny changing reservations
  qemu: Introduce pr-manager-helper capability
  qemu: Generate pr cmd line at startup
  qemu_ns: Allow /dev/mapper/control for PR
  qemu_cgroup: Allow /dev/mapper/control for PR
  qemu: Introduce pr_helper to qemu.conf
  qemu: Start PR daemon on domain startup
  qemu_hotplug: Hotplug of reservations
  qemu_hotplug: Hotunplug of reservations
  qemu: Detect pr-manager-helper capability

 docs/formatdomain.html.in                          |  23 +-
 docs/schemas/domaincommon.rng                      |  34 +--
 docs/schemas/storagecommon.rng                     |  50 +++++
 m4/virt-driver-qemu.m4                             |   5 +
 src/conf/domain_conf.c                             |  38 ++++
 src/libvirt_private.syms                           |   6 +
 src/qemu/libvirtd_qemu.aug                         |   1 +
 src/qemu/qemu.conf                                 |   4 +
 src/qemu/qemu_alias.c                              |  18 ++
 src/qemu/qemu_alias.h                              |   4 +
 src/qemu/qemu_capabilities.c                       |   2 +
 src/qemu/qemu_capabilities.h                       |   1 +
 src/qemu/qemu_cgroup.c                             |  33 ++-
 src/qemu/qemu_command.c                            | 134 ++++++++++++
 src/qemu/qemu_command.h                            |   5 +
 src/qemu/qemu_conf.c                               |   7 +-
 src/qemu/qemu_conf.h                               |   1 +
 src/qemu/qemu_domain.c                             |  66 ++++++
 src/qemu/qemu_domain.h                             |   5 +
 src/qemu/qemu_hotplug.c                            | 149 ++++++++++++-
 src/qemu/qemu_process.c                            | 232 +++++++++++++++++++++
 src/qemu/qemu_process.h                            |   6 +
 src/qemu/test_libvirtd_qemu.aug.in                 |   1 +
 src/util/virdevmapper.c                            |   8 +-
 src/util/virstoragefile.c                          | 164 +++++++++++++++
 src/util/virstoragefile.h                          |  18 ++
 tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml   |   1 +
 tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml |   1 +
 tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml   |   1 +
 tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml   |   1 +
 tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml  |   1 +
 .../disk-virtio-scsi-reservations.args             |  38 ++++
 .../disk-virtio-scsi-reservations.xml              |  49 +++++
 tests/qemuxml2argvtest.c                           |   4 +
 .../disk-virtio-scsi-reservations.xml              |   1 +
 tests/qemuxml2xmltest.c                            |   2 +
 36 files changed, 1075 insertions(+), 39 deletions(-)
 create mode 100644 tests/qemuxml2argvdata/disk-virtio-scsi-reservations.args
 create mode 100644 tests/qemuxml2argvdata/disk-virtio-scsi-reservations.xml
 create mode 120000 tests/qemuxml2xmloutdata/disk-virtio-scsi-reservations.xml

-- 
2.16.1

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH v5 00/11] Basic implementation of persistent reservations
Posted by John Ferlan 5 years, 11 months ago

On 04/23/2018 09:14 AM, Michal Privoznik wrote:
> v5 of:
> 
> https://www.redhat.com/archives/libvir-list/2018-April/msg00736.html
> 
> diff to v4:
> - John's review worked in. Partially.
> 
> Michal Privoznik (11):
>   virstoragefile: Introduce virStoragePRDef
>   qemuDomainDiskChangeSupported: Deny changing reservations
>   qemu: Introduce pr-manager-helper capability
>   qemu: Generate pr cmd line at startup
>   qemu_ns: Allow /dev/mapper/control for PR
>   qemu_cgroup: Allow /dev/mapper/control for PR
>   qemu: Introduce pr_helper to qemu.conf
>   qemu: Start PR daemon on domain startup
>   qemu_hotplug: Hotplug of reservations
>   qemu_hotplug: Hotunplug of reservations
>   qemu: Detect pr-manager-helper capability

Based on what I've also reviewed for Stefan Berger's TPM emulator:

https://www.redhat.com/archives/libvir-list/2018-May/msg00366.html

and in particular patch 14 for cgroup resource mgmt. Would you believe
the same concept would need to apply to pr_helper? At least w/r/t how
many cgroup controlled resources the pr_helper should/would be allowed.

We place similar controls on other threads (cpu, iothread, emulator). I
realize a TPM emulator and a pr_helper thread are very different in what
they are doing, but there are similarities that probably need to be
addressed.

John

> 
>  docs/formatdomain.html.in                          |  23 +-
>  docs/schemas/domaincommon.rng                      |  34 +--
>  docs/schemas/storagecommon.rng                     |  50 +++++
>  m4/virt-driver-qemu.m4                             |   5 +
>  src/conf/domain_conf.c                             |  38 ++++
>  src/libvirt_private.syms                           |   6 +
>  src/qemu/libvirtd_qemu.aug                         |   1 +
>  src/qemu/qemu.conf                                 |   4 +
>  src/qemu/qemu_alias.c                              |  18 ++
>  src/qemu/qemu_alias.h                              |   4 +
>  src/qemu/qemu_capabilities.c                       |   2 +
>  src/qemu/qemu_capabilities.h                       |   1 +
>  src/qemu/qemu_cgroup.c                             |  33 ++-
>  src/qemu/qemu_command.c                            | 134 ++++++++++++
>  src/qemu/qemu_command.h                            |   5 +
>  src/qemu/qemu_conf.c                               |   7 +-
>  src/qemu/qemu_conf.h                               |   1 +
>  src/qemu/qemu_domain.c                             |  66 ++++++
>  src/qemu/qemu_domain.h                             |   5 +
>  src/qemu/qemu_hotplug.c                            | 149 ++++++++++++-
>  src/qemu/qemu_process.c                            | 232 +++++++++++++++++++++
>  src/qemu/qemu_process.h                            |   6 +
>  src/qemu/test_libvirtd_qemu.aug.in                 |   1 +
>  src/util/virdevmapper.c                            |   8 +-
>  src/util/virstoragefile.c                          | 164 +++++++++++++++
>  src/util/virstoragefile.h                          |  18 ++
>  tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml   |   1 +
>  tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml |   1 +
>  tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml   |   1 +
>  tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml   |   1 +
>  tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml  |   1 +
>  .../disk-virtio-scsi-reservations.args             |  38 ++++
>  .../disk-virtio-scsi-reservations.xml              |  49 +++++
>  tests/qemuxml2argvtest.c                           |   4 +
>  .../disk-virtio-scsi-reservations.xml              |   1 +
>  tests/qemuxml2xmltest.c                            |   2 +
>  36 files changed, 1075 insertions(+), 39 deletions(-)
>  create mode 100644 tests/qemuxml2argvdata/disk-virtio-scsi-reservations.args
>  create mode 100644 tests/qemuxml2argvdata/disk-virtio-scsi-reservations.xml
>  create mode 120000 tests/qemuxml2xmloutdata/disk-virtio-scsi-reservations.xml
> 

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list