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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list