[libvirt] [PATCH v1 00/31] Drop network driver lock

Michal Privoznik mprivozn at redhat.com
Thu Feb 26 14:17:09 UTC 2015


The patchset starts slowly, with small patches, and small
changes, accelerating towards the end, with big changes.

I know that network driver is not used as intensely as domain
drivers, but hey, if we remove 100 lines (and substitute some
others) we get fine grained locking! And cleaner code, of course.

Oh, and this is meant for next release, obviously :)

Michal Privoznik (31):
  networkLookupByUUID: Improve error message
  bridge_driver: Don't check network active unlocked
  testNetworkUpdate: Unlock network at the end
  networkGetNetworkAddress: Drop empty 'error' label
  virNetworkObjIsDuplicate: s/@doms/@nets/
  virNetworkObjListFree: Accept NULL
  virNetworkObjListExport: Pass virNetworkObjListPtr
  test_driver: s/virNetworkObjList/virNetworkObjListPtr/
  parallels: s/virNetworkObjList/virNetworkObjListPtr/
  bridge_driver: s/virNetworkObjList/virNetworkObjListPtr/
  conf: s/virNetworkFindByUUID/virNetworkObjFindByUUID/
  conf: s/virNetworkFindByUUID/virNetworkObjFindByUUID/
  network_conf: Introduce virNetworkObjListForEach
  network_conf: Introduce virNetworkObjListGetNames
  network_conf: Introduce virNetworkObjListNumOfNetworks
  bridge_driver: Adapt to new virNetworkObjList accessors
  test_driver: Adapt to new virNetworkObjList accessors
  parallels_network: Adapt to new virNetworkObjList accessors
  network_conf: Turn virNetworkObjList into virObject
  network_conf: Turn struct _virNetworkObjList private
  network_conf: Make virNetworkObj actually virObject
  virNetworkObjList: Derive from virObjectLockableClass
  network_conf: Introduce virNetworkObjEndAPI
  bridge_driver: Use virNetworkObjEndAPI
  test_driver: Use virNetworkObjEndAPI
  parallels_network: Use virNetworkObjEndAPI
  virNetworkObjListPtr: Make APIs self-locking
  virNetworkObjFindBy*: Return an reference to found object
  bridge_driver: Drop networkDriverLock() from almost everywhere
  test_driver: Drop testDriverLock() from almost everywhere
  parallels_network: Drop parallelsDriverLock() from everywhere.

 cfg.mk                               |   3 -
 src/conf/network_conf.c              | 372 +++++++++++++++++++-------
 src/conf/network_conf.h              |  51 ++--
 src/libvirt_private.syms             |  14 +-
 src/network/bridge_driver.c          | 502 ++++++++++++++---------------------
 src/network/bridge_driver_platform.h |   2 +-
 src/parallels/parallels_driver.c     |   5 +-
 src/parallels/parallels_network.c    | 144 +++-------
 src/parallels/parallels_utils.h      |   2 +-
 src/test/test_driver.c               | 223 ++++------------
 tests/networkxml2conftest.c          |   4 +-
 tests/objectlocking.ml               |   2 -
 12 files changed, 612 insertions(+), 712 deletions(-)

-- 
2.0.5




More information about the libvir-list mailing list