[libvirt] [REPOST PATCHv2 0/6] Converge Storage Pool vHBA logic with Node Device

John Ferlan jferlan at redhat.com
Sat Mar 4 15:52:06 UTC 2017


Repost to merge in recent changes (thru commit id 'dec6d9df')

v1: http://www.redhat.com/archives/libvir-list/2017-February/msg00963.html

Changes since v1:

NB: Former Patch 1 - was pushed

Patch 1 - Was the old patch 2... Similar for rest of series...
          Altered to match the adjusted testNodeDeviceMockCreateVport
          from commit 2a862092

Patch 2 - reworked the code to not place the new module in src/util, but
          rather in src/conf as storage_adapter_conf.{c,h}. The concepts
          didn't change - only the name/location. Removed the changes for
          util/virvirscsi.c since virSCSIHostGetNameByParentaddr wouldn't
          be allowed to use virStorageAdapterSCSIHostPtr since it's a conf
          definition.

Patch 3 - Unchanged, ACK'd in v1

Patch 4 - Unchanged, ACK'd in v1

Patch 5 - Unchanged...
          Even though there is concern over usage of API's in this manner
          (e.g. calling virNodeDeviceLookupSCSIHostByWWN as well as
          virNodeDeviceCreateXML) - the "purpose" of the exercise is
          a means to have the StoragePool code use the same algorithms
          as the node device code instead of what could be a potentially
          long slow journey through the sysfs file system. The key piece
          being the replication of the API's that find the parent in the
          node device object list. I suppose it would be possible to add
          even more API's to get that answer, but I'm not sure it'd be
          worthwhile at this point. As for the concern about deadlock -
          I understand it, but since the whole purpose of the API is
          to essentially utilize the nodedev create algorithm there'd
          be no reason for nodedev to call it.

          If it doesn't get ACK'd - that's OK - I can hold onto it and
          reconsider some other means at some point in time in the future
          (probably distant future too).

Patch 6 - Unchanged

The former patch 8 is dropped for now - needs some more "discussion" as
to viability and/or need.

John Ferlan (6):
  tests: Add createVHBAByStoragePool-by-parent to fchosttest
  conf: Convert virStoragePoolSourceAdapter to virStorageAdapter
  util: Rename virFileWaitForDevices
  conf: Move/rename createVport and deleteVport
  util: Alter virNodeDevice{Create|Delete}Vport to use nodedev APIs
  tests: Add more storage pool vHBA tests

 po/POTFILES.in                        |   1 +
 src/Makefile.am                       |   1 +
 src/conf/node_device_conf.c           | 332 +++++++++++++++++++++++++++++++++
 src/conf/node_device_conf.h           |   9 +
 src/conf/storage_adapter_conf.c       | 291 +++++++++++++++++++++++++++++
 src/conf/storage_adapter_conf.h       |  89 +++++++++
 src/conf/storage_conf.c               | 333 ++++++++--------------------------
 src/conf/storage_conf.h               |  35 +---
 src/libvirt_private.syms              |  20 +-
 src/node_device/node_device_driver.c  |   2 +-
 src/phyp/phyp_driver.c                |   3 +-
 src/storage/storage_backend_disk.c    |   6 +-
 src/storage/storage_backend_iscsi.c   |   2 +-
 src/storage/storage_backend_logical.c |   4 +-
 src/storage/storage_backend_mpath.c   |   2 +-
 src/storage/storage_backend_scsi.c    | 267 +++++----------------------
 src/storage/storage_util.c            |   2 +-
 src/test/test_driver.c                |  99 +++++++++-
 src/util/virfile.h                    |   2 -
 src/util/virutil.c                    |   4 +-
 src/util/virutil.h                    |   2 +
 tests/fchosttest.c                    | 111 ++++++++++++
 22 files changed, 1087 insertions(+), 530 deletions(-)
 create mode 100644 src/conf/storage_adapter_conf.c
 create mode 100644 src/conf/storage_adapter_conf.h

-- 
2.9.3




More information about the libvir-list mailing list