[PATCH 0/9] Fixes and improvements around virXMLPropTristate*()

Andrea Bolognani abologna at redhat.com
Fri Mar 25 16:26:43 UTC 2022


I have manually audited all commits that have converted existing
code to use the new helpers (full list below) and have convinced
myself that allowReboot is indeed the only one that requires
special handling.

Changes from [RFC]:

  * introduce a separate helper for the one scenario where we need
    to accept 'default' as input instead of going for an approach
    that would require updating most callers;

  * throw in a bunch of extra fixes and improvements.

[RFC] https://listman.redhat.com/archives/libvir-list/2022-March/229506.html

Commits that performed the conversion in a way that accurately
preserved the existing behavior:

  14c803cb8276c564d242d4aec8f7d1f64da30321
  deac783c86009e0e828746c8c49de70f656aeb85
  e1e2e7ec46191a83eadf32be8a87901b01488a6d
  cea39e95291517ff2a8ae515573bad587a7dad2d
  388cdd11f3c746690edc8e0f71289872c6180c60
  dfff3db7763f55b0157f22d816d84c71bbc2dcad
  793e71ee76acb49b215e31ee89e0c9cb52322811
  92204134806ba4c41ba6cbc20ad2408015e7f3d5
  c348da7c4c138c108695c5f309f62e87d0101eda
  45abc1a5db60213bf94b5fb780dc6549ddd9103c
  45a61cbf68a2459202b7eda4a01a56bfcb6be048
  be63e8703c7354bdf0c767a771223b33ab2ad4f2
  b13f801d6ff6f9fe5e58aa48fc31bd25ad0b072b
  b45ba35e350f2a62c6b06a637d707029bc99e559
  fa48004af5ba58cfab38cd8ab5092719a5978509
  fcc563a29bd91bd2a45b8f242eccaf37ab75b5b3
  97cdb5be1ea84b5224f6353b425ea2503763df07
  754a7f6c942268b2b604de072a3391ea4df91e57
  b975a8a755b192f5980a14c46e745a92d3cdd3be
  e2a38216d2ff6dac8bc927603fdec1ba887b2da7
  cd4c756fd5eece6b1d7723a407ead0ed1bf8a298
  e663717cb13e49f4da21280bc2f455ddfeee782c
  cacde05ad3e8428ad0e16afcfdb715cb4b3d3165
  567efa85c2194e45ae943c01c9dffe5b44e81c96
  54fb0b9e95c398e8ba09bc7cdceca3f588f910b8
  3b7bc307d5fd8e7b9c618a6454d32d59b83277d2
  2beae8273b932505888dec35ae97bd8d74893272
  0eb42087c7907f43c114cb57b5ff2cf2a52dfea4
  b683978f1f4609e7a099ff8b36d7cac25e84cf7c
  a85d553d7608bf4c9ffe74546d32afe0275d7c69
  86cfd4d4e8de1834607e977318eee4e0c6a9a565
  593140dabd66f01aa0d606984ff684f7cb9c1eb1
  956373230631929dfa9a36814a283666cb290ee0
  0f8fd4548295e3a1516939d7f3bb912a8d7e4713
  7ae08ef3a230978510e2722fc56b61ebbae9c6b7

Commits that altered the existing behavior but did so safely, in
that they stopped accepting 'default' as a valid value for a
property that was defined in the schema as only taking either 'yes'
or 'no' and for which libvirt itself never produced the 'default'
value:

  9086ae4facfb91436c1d9e7daec9285156cb4eb8
  931afa7d99b8ff6eb18a6aa402ed64b789197d30
  38dc25989c50dad1f6f64aa038de8c2d1c008734
  38d76cde5e90cbb59cd8c726f35646be1740c685
  ee387289dd6c993bd2bcfdebcbad86a51fe36da8
  550981ce9713ef82df49116c336a9f4bd0eedef4
  b127e50290383dc26e8714ba866acc9f501d7af6
  54635ea592859d110e87d19565ffabe24d2f0e2e
  232c01ec4f650523ab5ff84cf38c4d8b55763052
  bb94b3d28db909d43d83b3f2ab73aa3f881b5c95
  3681a5393313eba7bfa8e8f763116efb9961c686

Commits that altered the existing behavior in a way that required
some fixing afterwards:

  0fe2d8dd335054fae38b46bbbac58a4662e1a1d0

Andrea Bolognani (9):
  conf: Don't pass PROP_NONZERO to virXMLPropTristateBool()
  conf: Use virTristateBoolToBool() more
  qemu: Format <allowReboot> conditionally
  util: Introduce virXMLPropTristateBoolAllowDefault()
  qemu: Accept <allowReboot value='default'/>
  qemu: Don't ignore XMLParseAllowReboot() errors
  conf: Restore error checking in VideoAccelDefParseXML()
  conf: Format managed property of hostdev-pci ports correctly
  network: Convert managed property of hostdev-pci ports correctly

 src/conf/domain_conf.c                        | 42 +++++++++++--------
 src/conf/interface_conf.c                     |  2 +-
 src/conf/virnetworkportdef.c                  |  7 +++-
 src/libvirt_private.syms                      |  1 +
 src/network/bridge_driver.c                   |  2 +-
 src/qemu/qemu_domain.c                        | 19 +++++----
 src/util/virxml.c                             | 18 ++++++++
 src/util/virxml.h                             |  7 ++++
 .../plug-hostdev-pci-unmanaged.xml            | 12 ++++++
 tests/virnetworkportxml2xmltest.c             |  1 +
 10 files changed, 83 insertions(+), 28 deletions(-)
 create mode 100644 tests/virnetworkportxml2xmldata/plug-hostdev-pci-unmanaged.xml

-- 
2.35.1



More information about the libvir-list mailing list