[libvirt] [PATCH 0/6] Small PCI hostdev improvements and fixes

Andrea Bolognani abologna at redhat.com
Thu Dec 17 15:20:25 UTC 2015


While working on v2 of my series[1] intended to fix

  https://bugzilla.redhat.com/show_bug.cgi?id=1272300

I'm running into some smaller stuff that isn't necessarily strictly
related to the issue at hand. The idea is to have this smaller patches
merged before the bigger, more invasive changes that series will bring,
and hopefully make it easier to review by laying down the groundwork
in advance.

The series is organized as follows:

  1-2: remove function parameters that are either not inspected by the
       function or never have an interesting value
    3: change a string field that can only assume one of three values
       to a proper enumeration
    4: improve bookkeeping when detaching PCI devices from the host,
       by making sure they always transition through the 'inactive'
       state (when they're attached to the stub driver)
    5: make sure we never try to reattach an unmanaged device to the
       host, not even when recovering from a previous error
    6: add some useful debug messages

I expect patches 1, 2 and 6 to be fairly uncontroversial and easy to
review; patch 3 is kinda big, but it's IMHO a nice improvement over
the current situation; patches 4 and 5 are small but definitely need
a long hard stare from a different pair of eyes to ensure they're not
breaking anything.

Cheers.


[1] https://www.redhat.com/archives/libvir-list/2015-December/msg00070.html

Andrea Bolognani (6):
  pci: Remove redundant parameter from virPCIDeviceBindToStub()
  pci: Remove 'reprobe' parameter from virPCIDeviceUnbind()
  pci: Introduce virPCIStubDriver enumeration
  hostdev: Mark PCI devices as inactive as they're detached
  hostdev: Only rollback detach of managed devices on error
  hostdev: Emit debug messages while handling PCI hostdevs

 src/libvirt_private.syms |   2 +
 src/libxl/libxl_driver.c |   3 +-
 src/qemu/qemu_driver.c   |   6 +--
 src/util/virhostdev.c    | 107 ++++++++++++++++++++++++++++++-----------------
 src/util/virpci.c        | 102 ++++++++++++++++++++++----------------------
 src/util/virpci.h        |  18 +++++---
 src/xen/xen_driver.c     |   3 +-
 tests/virhostdevtest.c   |   5 ++-
 tests/virpcitest.c       |  35 ++++++++++------
 9 files changed, 163 insertions(+), 118 deletions(-)

-- 
2.5.0




More information about the libvir-list mailing list