[libvirt] [PATCH 00/48 v3] Atomic APIs to list objects

Osier Yang jyang at redhat.com
Tue Aug 7 06:07:19 UTC 2012


ping

On 2012年08月03日 23:48, Osier Yang wrote:
> v2 - v3:
>    * Various document fixes/improvements (Suggested by Laine and Eric)
>    * Destroy virdomainlist.[ch], and folder all list helper funcs
>      into its own *_conf.[ch]
>    * Improve the helpers to get the object list. See
>      https://www.redhat.com/archives/libvir-list/2012-July/msg01267.html
>    * Rebased on top of commit 3df9626 by Peter and the virReportError
>      series by Daniel.
>    * Rebased on top of virsh split series. (I'm luck there is no
>      change on those commands since v2).
>
> Except the already supported APIs for domain and domain snapshot,
> this series add the APIs for the left objects, including storage
> pool, storage vol, network, interface, node device, nwfilter, and
> secret.
>
>    * Storage pool:
>      - Support filtering the returned pool objects by active|inactive,
>        persistent|transient, autostart|no-autostart, and pool types.
>      - New options for virsh, --type to accept multiple pool types.
>
>    * Storage vol:
>      - Simply returns all the vol objects of a pool.
>
>    * Network:
>      - Support filtering the results using flags active|inactive,
>        persistent|transient, autostart|no-autostart
>      - New options for virsh.
>
>    * Interface:
>      - Support filtering the results using flags active|inactive.
>        It's still O(n) underlying, as interface driver doesn't manage
>        the objects itself, but using netcf lib instead. And netcf
>        APIs don't support returning the struct yet.
>
>    * Node Device:
>      - Support filtering the results using capabilities type of
>        the devices.
>      - Extend --cap to accept multiple capability type.
>
>    * Network Filter:
>     - Simply returns all the objects.
>
>    * Secret:
>     - Simply returns all the objects.
>
> Osier Yang (48):
>    Avoid strcase check for virsh-*.c
>    Destroy virdomainlist.[ch]
>    list: Define new API virStorageListALlStoragePools
>    list: Add helpers for listing storage pool objects
>    list: Implement the RPC calls for virConnectListAllStoragePools
>    list: Implement listAllStoragePools for storage driver
>    list: Implement listAllStoragePools for test driver
>    list: Add helper to convert strings separated by ', ' to array
>    virsh: Fix the wrong doc for pool-list
>    list: Change MATCH for common use in virsh
>    list: Use virConnectListAllStoragePools in virsh
>    virsh: Use vshPrint instead of printf
>    python: Expose virStorageListAllStoragePools to python binding
>    list: Define new API virStoragePoolListAllVolumes
>    list: Implemente RPC calls for virStoragePoolListAllVolumes
>    list: Implement virStoragePoolListAllVolumes for storage driver
>    list: Implement virStoragePoolListAllVolumes for test driver
>    list: Use virStoragePoolListAllVolumes in virsh
>    list: Expose virStoragePoolListAllVolumes to Python binding
>    list: Define new API virConnectListAllNetworks
>    list: Implement RPC calls for virConnectListAllNetworks
>    list: Add helpers to list network objects
>    list: Implement listAllNetworks for network driver
>    list: Implement listAllNetworks for test driver
>    list: Use virConnectListAllNetworks in virsh
>    list: Expose virConnectListAllNetworks to Python binding
>    list: Define new API virConnectListAllInterfaces
>    list: Implemente RPC calls for virConnectListAllInterfaces
>    list: Implement listAllInterfaces
>    list: Use virConnectListAllInterfaces in virsh
>    list: Expose virConnectListAllInterfaces to Python binding
>    list: Define new API virConnectListAllNodeDevices
>    list: Implemente RPC calls for virConnectListAllNodeDevices
>    list: Add helpers for listing node devices
>    list: Implement listAllNodeDevices
>    list: Expose virConnectListAllNodeDevices to Python binding
>    virsh: Fix a bug of nodedev-list
>    list: Use virConnectListAllNodeDevices in virsh
>    list: Define new API virConnectListAllNWFilters
>    list: Implement RPC calls for virConnectListAllNWFilters
>    list: Implement listAllNWFilters
>    list: Use virConnectListAllNWFilters in virsh
>    list: Expose virConnectListAllNWFilters to Python binding
>    list: Define new API virConnectListAllSecrets
>    list: Implement RPC calls for virConnectListAllSecrets
>    list: Implement listAllSecrets
>    list: Use virConnectListAllSecrets in virsh
>    list: Expose virConnectListAllSecrets to Python binding
>
>   cfg.mk                                    |    5 +-
>   daemon/remote.c                           |  382 ++++++++++++++++++++++
>   include/libvirt/libvirt.h.in              |  101 ++++++-
>   python/generator.py                       |   11 +-
>   python/libvirt-override-api.xml           |   44 +++-
>   python/libvirt-override-virConnect.py     |   72 +++++
>   python/libvirt-override-virStoragePool.py |   11 +
>   python/libvirt-override.c                 |  337 ++++++++++++++++++++
>   src/Makefile.am                           |  125 ++++----
>   src/conf/domain_conf.c                    |  189 +++++++++++-
>   src/conf/domain_conf.h                    |   56 ++++
>   src/conf/network_conf.c                   |   91 ++++++
>   src/conf/network_conf.h                   |   22 ++
>   src/conf/node_device_conf.c               |  103 ++++++
>   src/conf/node_device_conf.h               |   16 +
>   src/conf/storage_conf.c                   |  116 +++++++
>   src/conf/storage_conf.h                   |   35 ++
>   src/conf/virdomainlist.c                  |  222 -------------
>   src/conf/virdomainlist.h                  |   84 -----
>   src/driver.h                              |   35 ++-
>   src/interface/netcf_driver.c              |  135 ++++++++
>   src/libvirt.c                             |  487 ++++++++++++++++++++++++++++-
>   src/libvirt_private.syms                  |    4 +
>   src/libvirt_public.syms                   |    7 +
>   src/libxl/libxl_driver.c                  |    3 +-
>   src/lxc/lxc_driver.c                      |    3 +-
>   src/network/bridge_driver.c               |   17 +
>   src/node_device/node_device_driver.c      |   15 +
>   src/node_device/node_device_driver.h      |    3 +
>   src/node_device/node_device_hal.c         |    1 +
>   src/node_device/node_device_udev.c        |    1 +
>   src/nwfilter/nwfilter_driver.c            |   56 ++++
>   src/openvz/openvz_driver.c                |    3 +-
>   src/parallels/parallels_driver.c          |    3 +-
>   src/qemu/qemu_driver.c                    |    3 +-
>   src/remote/remote_driver.c                |  449 ++++++++++++++++++++++++++
>   src/remote/remote_protocol.x              |   80 +++++-
>   src/remote_protocol-structs               |   85 +++++
>   src/secret/secret_driver.c                |   59 ++++-
>   src/storage/storage_driver.c              |   85 +++++
>   src/test/test_driver.c                    |  104 ++++++-
>   src/uml/uml_driver.c                      |    3 +-
>   src/vbox/vbox_tmpl.c                      |    9 +-
>   src/vmware/vmware_driver.c                |    3 +-
>   tools/virsh-domain-monitor.c              |   16 +-
>   tools/virsh-domain.c                      |   19 +-
>   tools/virsh-host.c                        |    2 +-
>   tools/virsh-interface.c                   |  259 +++++++++++-----
>   tools/virsh-network.c                     |  351 ++++++++++++++++-----
>   tools/virsh-nodedev.c                     |  302 ++++++++++++++++---
>   tools/virsh-nwfilter.c                    |  163 ++++++++--
>   tools/virsh-pool.c                        |  441 ++++++++++++++++++++------
>   tools/virsh-secret.c                      |  182 +++++++++--
>   tools/virsh-volume.c                      |  197 +++++++++---
>   tools/virsh.c                             |   58 +++-
>   tools/virsh.pod                           |   51 +++-
>   56 files changed, 4849 insertions(+), 867 deletions(-)
>   create mode 100644 python/libvirt-override-virStoragePool.py
>   delete mode 100644 src/conf/virdomainlist.c
>   delete mode 100644 src/conf/virdomainlist.h
>




More information about the libvir-list mailing list