[PATCH v3 00/12] nodedev state and update

Boris Fiuczynski posted 12 patches 2 months, 1 week ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20240216145220.5056-1-fiuczy@linux.ibm.com
There is a newer version of this series
NEWS.rst                                      |  12 +
docs/drvnodedev.rst                           |   4 +-
docs/manpages/virsh.rst                       |  36 +-
include/libvirt/libvirt-nodedev.h             |  31 ++
libvirt.spec.in                               |   1 +
src/access/viraccessperm.c                    |   1 +
src/access/viraccessperm.h                    |   6 +
src/conf/node_device_conf.c                   |  76 +--
src/conf/node_device_conf.h                   |  14 +-
src/conf/virnodedeviceobj.c                   |  50 ++
src/conf/virnodedeviceobj.h                   |   3 +
src/driver-nodedev.h                          |   6 +
src/libvirt-nodedev.c                         |  51 +-
src/libvirt_private.syms                      |   1 +
src/libvirt_public.syms                       |   5 +
src/node_device/node_device_driver.c          | 489 ++++++++++++++----
src/node_device/node_device_driver.h          |  17 +-
src/node_device/node_device_udev.c            |   5 +-
src/remote/remote_driver.c                    |   1 +
src/remote/remote_protocol.x                  |  17 +-
src/remote_protocol-structs                   |   6 +
src/test/test_driver.c                        |   6 +-
src/util/virmdev.h                            |   6 +
...60c_c60c_c60c_c60c_c60cc60cc60c_update.xml |  16 +
tests/nodedevmdevctldata/mdevctl-modify.argv  |  25 +
tests/nodedevmdevctldata/mdevctl-modify.json  |   4 +
tests/nodedevmdevctltest.c                    |  94 +++-
...v_c60cc60c_c60c_c60c_c60c_c60cc60cc60c.xml |  14 +
...d_b7f0_4fea_b468_f1da537d301b_inactive.xml |   1 +
...v_c60cc60c_c60c_c60c_c60c_c60cc60cc60c.xml |  10 +
...c_c60c_c60c_c60c_c60cc60cc60c_inactive.xml |   9 +
...9_36ea_4111_8f0a_8c9a70e21366_inactive.xml |   1 +
...9_495e_4243_ad9f_beb3f14c23d9_inactive.xml |   1 +
...4_f554_4dc1_809d_b2a01e8e48ad_inactive.xml |   8 +
...6_1ca8_49ac_b176_871d16c13076_inactive.xml |   1 +
tests/nodedevxml2xmltest.c                    |  59 ++-
tools/virsh-nodedev.c                         | 140 ++++-
37 files changed, 1067 insertions(+), 160 deletions(-)
create mode 100644 tests/nodedevmdevctldata/mdev_c60cc60c_c60c_c60c_c60c_c60cc60cc60c_update.xml
create mode 100644 tests/nodedevmdevctldata/mdevctl-modify.argv
create mode 100644 tests/nodedevmdevctldata/mdevctl-modify.json
create mode 100644 tests/nodedevschemadata/mdev_c60cc60c_c60c_c60c_c60c_c60cc60cc60c.xml
create mode 120000 tests/nodedevxml2xmlout/mdev_3627463d_b7f0_4fea_b468_f1da537d301b_inactive.xml
create mode 100644 tests/nodedevxml2xmlout/mdev_c60cc60c_c60c_c60c_c60c_c60cc60cc60c.xml
create mode 100644 tests/nodedevxml2xmlout/mdev_c60cc60c_c60c_c60c_c60c_c60cc60cc60c_inactive.xml
create mode 120000 tests/nodedevxml2xmlout/mdev_d069d019_36ea_4111_8f0a_8c9a70e21366_inactive.xml
create mode 120000 tests/nodedevxml2xmlout/mdev_d2441d39_495e_4243_ad9f_beb3f14c23d9_inactive.xml
create mode 100644 tests/nodedevxml2xmlout/mdev_ee0b88c4_f554_4dc1_809d_b2a01e8e48ad_inactive.xml
create mode 120000 tests/nodedevxml2xmlout/mdev_fedc4916_1ca8_49ac_b176_871d16c13076_inactive.xml
[PATCH v3 00/12] nodedev state and update
Posted by Boris Fiuczynski 2 months, 1 week ago
The series adds a dual state to the mdev node devices as these objects
can be active and defined at the same time. These two states can
become different. To be able to also introspect the persistent and
transient nodedevs filtering is added. To be able to also dump the XML
of an inactive state while the node device is active a new option is
added.

The last four patches add the capability to update a mdev node device.
This can be done on the persistent configuration, on the active
configuration or on both. To support this v1.3.0 of mdevctl is required.
nodeDeviceDefineXML() does now support modifying a persistent configuration.

Changes since v2:
* made error messages in virNodeDeviceObjUpdateModificationImpact() device
  type agnostic
* renamed virNodeDeviceUpdateXML* into virNodeDeviceUpdate*
* renamed nodeDeviceDefCompareMdevs() into nodeDeviceDefValidateUpdate()
* renamed multiple local variable names
* removed method for config cloning by commenting cross config compare in
  nodeDeviceDefValidateUpdate()
* changed nodeDeviceDefineXML() to modify an existing persistent configuration

Changes since v1:
* replaced spec file requirement for v1.3.0 of mdevctl by a dynamic
  support check and an unsupported message if not available
* removed persisted precheck in virsh
* renamed persisted and persist into persistent
* addressed all other review comments made on v1
* added NEWS

Boris Fiuczynski (12):
  virmdev: prepare type and attributes for dual state
  node_device: refactor mdev attributes handling
  node_device: remove unnecessary checks in virNodeDeviceDefFormat
  nodedev: add an active config to mdev
  tools: add option inactive to nodedev-dumpxml
  nodedev: add persisted and transient filter on list
  tools: add switches persisted and transient to nodedev-list
  virsh: doc fix on nodedev-list
  api: add virNodeDeviceUpdate()
  nodedev: Implement virNodeDeviceUpdate
  virsh: add nodedev-update
  nodedev: allow modify on define of a persistent node device

 NEWS.rst                                      |  12 +
 docs/drvnodedev.rst                           |   4 +-
 docs/manpages/virsh.rst                       |  36 +-
 include/libvirt/libvirt-nodedev.h             |  31 ++
 libvirt.spec.in                               |   1 +
 src/access/viraccessperm.c                    |   1 +
 src/access/viraccessperm.h                    |   6 +
 src/conf/node_device_conf.c                   |  76 +--
 src/conf/node_device_conf.h                   |  14 +-
 src/conf/virnodedeviceobj.c                   |  50 ++
 src/conf/virnodedeviceobj.h                   |   3 +
 src/driver-nodedev.h                          |   6 +
 src/libvirt-nodedev.c                         |  51 +-
 src/libvirt_private.syms                      |   1 +
 src/libvirt_public.syms                       |   5 +
 src/node_device/node_device_driver.c          | 489 ++++++++++++++----
 src/node_device/node_device_driver.h          |  17 +-
 src/node_device/node_device_udev.c            |   5 +-
 src/remote/remote_driver.c                    |   1 +
 src/remote/remote_protocol.x                  |  17 +-
 src/remote_protocol-structs                   |   6 +
 src/test/test_driver.c                        |   6 +-
 src/util/virmdev.h                            |   6 +
 ...60c_c60c_c60c_c60c_c60cc60cc60c_update.xml |  16 +
 tests/nodedevmdevctldata/mdevctl-modify.argv  |  25 +
 tests/nodedevmdevctldata/mdevctl-modify.json  |   4 +
 tests/nodedevmdevctltest.c                    |  94 +++-
 ...v_c60cc60c_c60c_c60c_c60c_c60cc60cc60c.xml |  14 +
 ...d_b7f0_4fea_b468_f1da537d301b_inactive.xml |   1 +
 ...v_c60cc60c_c60c_c60c_c60c_c60cc60cc60c.xml |  10 +
 ...c_c60c_c60c_c60c_c60cc60cc60c_inactive.xml |   9 +
 ...9_36ea_4111_8f0a_8c9a70e21366_inactive.xml |   1 +
 ...9_495e_4243_ad9f_beb3f14c23d9_inactive.xml |   1 +
 ...4_f554_4dc1_809d_b2a01e8e48ad_inactive.xml |   8 +
 ...6_1ca8_49ac_b176_871d16c13076_inactive.xml |   1 +
 tests/nodedevxml2xmltest.c                    |  59 ++-
 tools/virsh-nodedev.c                         | 140 ++++-
 37 files changed, 1067 insertions(+), 160 deletions(-)
 create mode 100644 tests/nodedevmdevctldata/mdev_c60cc60c_c60c_c60c_c60c_c60cc60cc60c_update.xml
 create mode 100644 tests/nodedevmdevctldata/mdevctl-modify.argv
 create mode 100644 tests/nodedevmdevctldata/mdevctl-modify.json
 create mode 100644 tests/nodedevschemadata/mdev_c60cc60c_c60c_c60c_c60c_c60cc60cc60c.xml
 create mode 120000 tests/nodedevxml2xmlout/mdev_3627463d_b7f0_4fea_b468_f1da537d301b_inactive.xml
 create mode 100644 tests/nodedevxml2xmlout/mdev_c60cc60c_c60c_c60c_c60c_c60cc60cc60c.xml
 create mode 100644 tests/nodedevxml2xmlout/mdev_c60cc60c_c60c_c60c_c60c_c60cc60cc60c_inactive.xml
 create mode 120000 tests/nodedevxml2xmlout/mdev_d069d019_36ea_4111_8f0a_8c9a70e21366_inactive.xml
 create mode 120000 tests/nodedevxml2xmlout/mdev_d2441d39_495e_4243_ad9f_beb3f14c23d9_inactive.xml
 create mode 100644 tests/nodedevxml2xmlout/mdev_ee0b88c4_f554_4dc1_809d_b2a01e8e48ad_inactive.xml
 create mode 120000 tests/nodedevxml2xmlout/mdev_fedc4916_1ca8_49ac_b176_871d16c13076_inactive.xml

-- 
2.42.0
_______________________________________________
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-leave@lists.libvirt.org