[libvirt] [PATCH v2 00/17] Add support to list Storage Driver backend capabilities

John Ferlan jferlan at redhat.com
Tue Feb 12 15:27:59 UTC 2019


v1: https://www.redhat.com/archives/libvir-list/2019-January/msg00479.html

Changes since v1:

 * The first 4 patches were already R-by'd and pushed.

 * From v1, rework patch 5 & 6 into what now is patches 8 & 9. The
   format of the output for what results in the output for the
   connectGetCapabilities (virConnectGetCapabilities).

 * From v1, drop patch 7

 * In v2, patches 1-7 are new as a result of work done for patches 10-17.
   patches 1-5 were posted upstream, but left unreviewed:

   https://www.redhat.com/archives/libvir-list/2019-February/msg00333.html

   These essentially ensure the volOptions and poolOptions don't list
   or use something unexpected per documentation. The doc patch is a
   simple update to add some missing text and fix an entry

 * Patches 10-17 are new to implement the ability to get/format the
   Storage Driver backend capabilities via:

       storageConnectGetStoragePoolCapabilities
       virConnectGetStoragePoolCapabilities

   similar to how virConnectGetDomainCapabilities returns domain specific
   output. The output is essentially what is provided in the poolOptions
   and volOptions from storage_conf as valid values for format type fields
   for pool and/or volume as well as an enumerated list for the required
   source elements for creation. Whether the latter is useful or not was
   not clear, but since it is something that can cause a creation error
   when missing, I figured it'd be useful.  The new virsh command follows
   then domcapabilities nomenclature.

John Ferlan (17):
  conf: Remove volOptions for VIR_STORAGE_POOL_SHEEPDOG
  conf: Remove volOptions for VIR_STORAGE_POOL_RBD
  conf: Remove volOptions for VIR_STORAGE_POOL_SCSI
  conf: Remove volOptions for VIR_STORAGE_POOL_ISCSI[_DIRECT]
  conf: Remove volOptions for VIR_STORAGE_POOL_MPATH
  conf: Remove defaultFormat from VIR_STORAGE_POOL_ZFS
  docs: Fix a few storage.html.in typos
  conf: Introduce storage pool functions into capabilities
  storage: Process storage pool capabilities
  docs: Add schema for storage pool capabilities
  conf: Add storage pool capability formatting
  tests: Introduce storage pool capabilites test
  docs: Add description for Storage Pool Capabilities
  libvirt: Introduce virConnectGetStoragePoolCapabilities
  storage: Introduce storageConnectGetStoragePoolCapabilities
  virsh: Expose virConnectGetStoragePoolCapabilities
  docs: Add news article

 docs/docs.html.in                             |   1 +
 docs/format.html.in                           |   1 +
 docs/formatstoragecaps.html.in                | 108 +++++++
 docs/index.html.in                            |   1 +
 docs/news.xml                                 |  12 +
 docs/schemas/storagepoolcaps.rng              |  88 ++++++
 docs/storage.html.in                          |   8 +-
 include/libvirt/libvirt-storage.h             |   4 +
 libvirt.spec.in                               |   1 +
 mingw-libvirt.spec.in                         |   2 +
 src/conf/Makefile.inc.am                      |   2 +
 src/conf/capabilities.c                       |  74 +++++
 src/conf/capabilities.h                       |  15 +
 src/conf/storage_capabilities.c               | 135 +++++++++
 src/conf/storage_capabilities.h               |  41 +++
 src/conf/storage_conf.c                       | 131 +++++++--
 src/conf/storage_conf.h                       |   7 +
 src/conf/virstorageobj.h                      |   5 +
 src/driver-storage.h                          |   5 +
 src/libvirt-storage.c                         |  40 +++
 src/libvirt_private.syms                      |   8 +
 src/libvirt_public.syms                       |   5 +
 src/remote/remote_driver.c                    |   1 +
 src/remote/remote_protocol.x                  |  15 +-
 src/remote_protocol-structs                   |   7 +
 src/storage/storage_backend.c                 |  16 ++
 src/storage/storage_backend.h                 |   3 +
 src/storage/storage_driver.c                  |  44 +++
 tests/Makefile.am                             |   7 +
 .../storagepoolcapsschemadata/poolcaps-fs.xml | 268 ++++++++++++++++++
 .../poolcaps-full.xml                         | 268 ++++++++++++++++++
 tests/storagepoolcapstest.c                   | 124 ++++++++
 tests/storagevolxml2xmlout/vol-sheepdog.xml   |   1 -
 tests/virschematest.c                         |   1 +
 tools/virsh-pool.c                            |  42 +++
 tools/virsh.pod                               |   7 +
 36 files changed, 1473 insertions(+), 25 deletions(-)
 create mode 100644 docs/formatstoragecaps.html.in
 create mode 100644 docs/schemas/storagepoolcaps.rng
 create mode 100644 src/conf/storage_capabilities.c
 create mode 100644 src/conf/storage_capabilities.h
 create mode 100644 tests/storagepoolcapsschemadata/poolcaps-fs.xml
 create mode 100644 tests/storagepoolcapsschemadata/poolcaps-full.xml
 create mode 100644 tests/storagepoolcapstest.c

-- 
2.20.1




More information about the libvir-list mailing list