[libvirt] [PATCH v2 0/9] admin: Admin API: Introduce client listing API

Erik Skultety eskultet at redhat.com
Tue May 3 08:38:05 UTC 2016


On 02/05/16 15:59, Michal Privoznik wrote:
> On 29.04.2016 14:39, Erik Skultety wrote:
>> v2:
>> - gendispatch was modified to be able to generate more client related code
>>
>> - Martin noticed that I added avahi-related field into my tests which caused
>> the tests to fail for him, since he doesn't compile with avahi - fixed
>>
>> - coverity complained that clts might be uninitialized when calling
>> virObjectListFreeCount in virAdmServerListClients. Turned out as a
>> false-positive, but I wanted to silence it so I reworked the logic so that
>> the caller-supplied pointer (initialized to NULL) isn't touched until all the
>> memory operations succeeded. That not only didn't help, but since I removed the
>> ugly check before virObjectListFreeCount (because the method handles NULL
>> well), coverity started to complain that I might assign a signed value to
>> an unsigned function argument, which, although being true, is still a false
>> positive because the pointer will be NULL and will be handled correctly.
>>
>> Erik Skultety (9):
>>   rpc: virnetserverclient: Identify clients by an integer ID
>>   rpc: virnetserverclient: Introduce new attribute conn_time to client
>>   admin: Introduce virAdmClient client-side object
>>   rpc: gendispatch: Tune it to support client structure
>>   rpc: virnetserver: Support retrieval of a list of clients
>>   include: admin: export connection transport constants
>>   rpc: virnetserverclient: Implement client connection transport
>>     retrieval
>>   admin: Introduce listing clients
>>   virt-admin: Introduce srv-clients-list command
>>
>>  daemon/admin.c                                     |  15 +++
>>  daemon/admin_server.c                              |  23 ++++
>>  daemon/admin_server.h                              |   4 +
>>  daemon/libvirtd.c                                  |   4 +-
>>  include/libvirt/libvirt-admin.h                    |  37 ++++++
>>  src/admin/admin_protocol.x                         |  29 ++++-
>>  src/admin/admin_remote.c                           |   6 +
>>  src/admin_protocol-structs                         |  19 +++
>>  src/datatypes.c                                    |  35 +++++
>>  src/datatypes.h                                    |  47 +++++++
>>  src/libvirt-admin.c                                | 131 +++++++++++++++++++
>>  src/libvirt_admin_private.syms                     |   3 +
>>  src/libvirt_admin_public.syms                      |   5 +
>>  src/libvirt_remote.syms                            |   2 +
>>  src/locking/lock_daemon.c                          |   2 +-
>>  src/logging/log_daemon.c                           |   2 +-
>>  src/lxc/lxc_controller.c                           |   2 +-
>>  src/rpc/gendispatch.pl                             |  75 +++++++++--
>>  src/rpc/virnetserver.c                             |  64 +++++++++-
>>  src/rpc/virnetserver.h                             |   6 +
>>  src/rpc/virnetserverclient.c                       | 106 ++++++++++++++--
>>  src/rpc/virnetserverclient.h                       |  10 +-
>>  tests/Makefile.am                                  |   7 +
>>  tests/virnetdaemondata/input-data-client-ids.json  |  68 ++++++++++
>>  .../input-data-client-timestamp.json               |  70 ++++++++++
>>  .../virnetdaemondata/output-data-admin-nomdns.json |   6 +
>>  .../output-data-admin-server-names.json            |   6 +
>>  .../virnetdaemondata/output-data-anon-clients.json |   3 +
>>  tests/virnetdaemondata/output-data-client-ids.json |  68 ++++++++++
>>  .../output-data-client-timestamp.json              |  70 ++++++++++
>>  .../output-data-initial-nomdns.json                |   3 +
>>  tests/virnetdaemondata/output-data-initial.json    |   3 +
>>  .../output-data-no-keepalive-required.json         |   6 +
>>  tests/virnetdaemonmock.c                           |  34 +++++
>>  tests/virnetdaemontest.c                           |  13 +-
>>  tests/virnetserverclienttest.c                     |   2 +-
>>  tools/virt-admin.c                                 | 141 +++++++++++++++++++++
>>  tools/virt-admin.pod                               |   7 +
>>  38 files changed, 1095 insertions(+), 39 deletions(-)
>>  create mode 100644 tests/virnetdaemondata/input-data-client-ids.json
>>  create mode 100644 tests/virnetdaemondata/input-data-client-timestamp.json
>>  create mode 100644 tests/virnetdaemondata/output-data-client-ids.json
>>  create mode 100644 tests/virnetdaemondata/output-data-client-timestamp.json
>>  create mode 100644 tests/virnetdaemonmock.c
>>
> 
> ACK series
> 
> Michal
> 

I fixed 9/9 as you suggested and pushed, thank you for review.

Erik




More information about the libvir-list mailing list