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