[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH 0/8] Converge Storage Pool vHBA logic with Node Device



ping?

Don't bother with the 8th patch since that seems to be a moot point now
given that a callback mechanism between qemu and nodedev seems to have
been taken off the table after Daniel and Paolo's discussion.

Tks -

John

On 02/20/2017 08:18 AM, John Ferlan wrote:
> Similar to the recent node device focused vHBA patches, but these focus
> more on adjustments to the Storage Pool vHBA logic and finally the mechanism
> to define a vHBA for a domain.
> 
> The first patch fixes a leak found by coverity that showed up because
> node_device_conf had enough changes so that coverity looked harder...
> 
> The second patch creates a mechanism to mock creation of the vHBA in
> order to test the ability for the storage pool to create a vHBA. As
> much as I dislike forward refs for testNodeDeviceMockCreateVport, it
> was better than moving all the code....
> 
> The third patch extracts out storage device mgmt into it's own set of
> src/util API's - similar to the existing virstoragefile, but for devices.
> 
> The fourth patch was uncovered while moving code from storage_backend_scsi
> into node_device_conf (the fifth patch)...
> 
> The fifth patch moves the createVport/deleteVport guts into the
> node_device_conf (although they could have moved to virvhba)...
> 
> The sixth patch alters the logic to use the node_device API's as the
> "preferred" mechanism to create/delete the vport...
> 
> The seventh patch tests the storage pool vHBA creation algorithms.
> 
> The eigth patch is the reason for all this stirring of the pot. Alter
> the domain <controller> XML in order to allow definition of a vHBA which
> more or less sits between a "scsi_hostX" host device and a controller. This
> is in preparation for https://bugzilla.redhat.com/show_bug.cgi?id=1404962
> which can take that created vHBA and automagically add the LUNs from the
> vHBA to the domain although that requires a bit more magic for which there
> are already onlist patches to let qemu driver know when a node device has
> been added/removed. Once all that's in place - the next step will be to
> converge the two sets of patches. It's a chicken/egg type problem - one
> has to exist before the other can truly work.
> 
> 
> John Ferlan (8):
>   conf: Fix leak in virNodeDeviceDefParseXML
>   tests: Add createVHBAByStoragePool-by-parent to fchosttest
>   util: Convert virStoragePoolSourceAdapter to virStorageAdapter
>   util: Rename virFileWaitForDevices
>   storage: Move/rename createVport and deleteVport
>   util: Alter virNodeDevice{Create|Delete}Vport to use nodedev APIs
>   tests: Add more storage pool vHBA tests
>   conf: Add vHBA controller definition to domain
> 
>  docs/schemas/basictypes.rng                        |  66 ++--
>  docs/schemas/domaincommon.rng                      |  12 +-
>  po/POTFILES.in                                     |   1 +
>  src/Makefile.am                                    |   1 +
>  src/conf/domain_audit.c                            |  32 ++
>  src/conf/domain_conf.c                             | 180 ++++++++++-
>  src/conf/domain_conf.h                             |   2 +
>  src/conf/node_device_conf.c                        | 342 ++++++++++++++++++++-
>  src/conf/node_device_conf.h                        |   9 +
>  src/conf/storage_conf.c                            | 338 +++++---------------
>  src/conf/storage_conf.h                            |  35 +--
>  src/libvirt_private.syms                           |  20 +-
>  src/libxl/libxl_conf.c                             |   1 +
>  src/node_device/node_device_driver.c               |   2 +-
>  src/phyp/phyp_driver.c                             |   3 +-
>  src/qemu/qemu_alias.c                              |   5 +
>  src/qemu/qemu_command.c                            |   4 +
>  src/qemu/qemu_hotplug.c                            |  16 +
>  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                             | 101 +++++-
>  src/util/virfile.h                                 |   2 -
>  src/util/virscsihost.c                             |  28 +-
>  src/util/virscsihost.h                             |   8 +-
>  src/util/virstoragedevice.c                        | 292 ++++++++++++++++++
>  src/util/virstoragedevice.h                        |  89 ++++++
>  src/util/virutil.c                                 |   4 +-
>  src/util/virutil.h                                 |   2 +
>  tests/fchosttest.c                                 | 111 +++++++
>  .../qemuxml2argv-vhba-no-parent.xml                |  38 +++
>  .../qemuxml2argv-vhba-parent-fabric.xml            |  38 +++
>  .../qemuxml2argv-vhba-parent-name.xml              |  38 +++
>  .../qemuxml2argv-vhba-parent-wwns.xml              |  38 +++
>  .../qemuxml2xmlout-vhba-no-parent.xml              |  47 +++
>  .../qemuxml2xmlout-vhba-parent-fabric.xml          |  47 +++
>  .../qemuxml2xmlout-vhba-parent-name.xml            |  47 +++
>  .../qemuxml2xmlout-vhba-parent-wwns.xml            |  47 +++
>  tests/qemuxml2xmltest.c                            |   9 +
>  42 files changed, 1727 insertions(+), 611 deletions(-)
>  create mode 100644 src/util/virstoragedevice.c
>  create mode 100644 src/util/virstoragedevice.h
>  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-vhba-no-parent.xml
>  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-vhba-parent-fabric.xml
>  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-vhba-parent-name.xml
>  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-vhba-parent-wwns.xml
>  create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-vhba-no-parent.xml
>  create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-vhba-parent-fabric.xml
>  create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-vhba-parent-name.xml
>  create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-vhba-parent-wwns.xml
> 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]