[libvirt] [PATCHv6 0/5]Write separate module for hostdev passthrough

Chunyan Liu cyliu at suse.com
Fri Nov 1 07:12:14 UTC 2013


These patches implements a separate module for hostdev passthrough so that it
could be shared by different drivers and can maintain a global state of a host
device. Plus, add passthrough to libxl driver, and change qemu driver and lxc
driver to use hostdev common library instead of their own hostdev APIs.

---
Changes to v5:
  * For upgrade concern, check netconfig file in old stateDir xxx/qemu/ if it's
    not found in new location xxx/hostdevmgr/, since if there is existing VM,
    then after upgrade, NetConfigRestore should find the netconfig file from old
    stateDir place.
  * Rebase to new qemu_hostdev changes, e.g, prefer VFIO, and add CheckSupport.
  * Put into separate patches for adding a pci backend type for xen and other
    hostdev common library stuff
  * Other fixes according to Daniel's comments.
  v5 is here:
  http://www.redhat.com/archives/libvir-list/2013-September/msg00745.html

Chunyan Liu (5):
  Add a hostdev PCI backend type
  Add hostdev passthrough common library
  Add pci passthrough to libxl driver
  Change qemu driver to use hostdev common library
  Change lxc driver to use hostdev common library

 docs/schemas/domaincommon.rng |    1 +
 po/POTFILES.in                |    3 +-
 src/Makefile.am               |    3 +-
 src/conf/domain_conf.c        |    3 +-
 src/conf/domain_conf.h        |    1 +
 src/libvirt_private.syms      |   20 +
 src/libxl/libxl_conf.c        |   63 ++
 src/libxl/libxl_conf.h        |    4 +
 src/libxl/libxl_domain.c      |    9 +
 src/libxl/libxl_driver.c      |  448 +++++++++++-
 src/lxc/lxc_conf.h            |    4 -
 src/lxc/lxc_driver.c          |   47 +-
 src/lxc/lxc_hostdev.c         |  413 ----------
 src/lxc/lxc_hostdev.h         |   43 --
 src/lxc/lxc_process.c         |   24 +-
 src/qemu/qemu_command.c       |    4 +-
 src/qemu/qemu_conf.h          |    9 +-
 src/qemu/qemu_domain.c        |   22 +
 src/qemu/qemu_driver.c        |   77 +--
 src/qemu/qemu_hostdev.c       | 1453 -----------------------------------
 src/qemu/qemu_hostdev.h       |   74 --
 src/qemu/qemu_hotplug.c       |  133 ++--
 src/qemu/qemu_process.c       |   40 +-
 src/util/virhostdev.c         | 1671 +++++++++++++++++++++++++++++++++++++++++
 src/util/virhostdev.h         |  129 ++++
 src/util/virpci.c             |   30 +-
 src/util/virpci.h             |    9 +-
 src/util/virscsi.c            |   28 +-
 src/util/virscsi.h            |    8 +-
 src/util/virusb.c             |   29 +-
 src/util/virusb.h             |    8 +-
 31 files changed, 2607 insertions(+), 2203 deletions(-)
 delete mode 100644 src/lxc/lxc_hostdev.c
 delete mode 100644 src/lxc/lxc_hostdev.h
 delete mode 100644 src/qemu/qemu_hostdev.c
 delete mode 100644 src/qemu/qemu_hostdev.h
 create mode 100644 src/util/virhostdev.c
 create mode 100644 src/util/virhostdev.h




More information about the libvir-list mailing list