[PATCH v2 00/12] Replace virHashTable by GHashTable

Neal Gompa ngompa13 at gmail.com
Fri Nov 6 12:09:24 UTC 2020


On Wed, Nov 4, 2020 at 12:06 PM Peter Krempa <pkrempa at redhat.com> wrote:
>
> Our hash table API was surprisingly close to glibs.
>
> v2:
> - pushed ACK'd patch
> - typo fix
> - rebased on current master
> - hashing function not replaced as our has random initialization
>
> Peter Krempa (12):
>   virhashtest: testHashGetItems: Remove test case for sorting by value
>   util: hash: Rewrite sorting of elements in virHashGetItems
>   util: hash: Introduce virHashForEachSorted
>   Use virHashForEachSorted in tested code
>   tests: remove virdeterministichashmock.so
>   util: hash: Add delete-safe hash iterator
>   util: hash: Use virHashForEachSafe in places which might delete the
>     element
>   util: hash: Don't use 'const' with virHashTablePtr
>   util: hash: Reimplement virHashTable using GHashTable
>   util: hash: Retire 'virHashTable' in favor of 'GHashTable'
>   util: hash: Add deprecation notices for functions which have
>     g_hash_table replacements
>   tests: Remove 'virhashtest'
>
>  src/conf/backup_conf.c                        |   2 +-
>  src/conf/domain_addr.h                        |   2 +-
>  src/conf/domain_conf.c                        |  12 +-
>  src/conf/domain_conf.h                        |   2 +-
>  src/conf/nwfilter_conf.h                      |   2 +-
>  src/conf/nwfilter_ipaddrmap.c                 |   2 +-
>  src/conf/nwfilter_params.c                    |  34 +-
>  src/conf/nwfilter_params.h                    |  18 +-
>  src/conf/snapshot_conf.c                      |   2 +-
>  src/conf/virchrdev.c                          |   4 +-
>  src/conf/virdomainmomentobjlist.c             |   4 +-
>  src/conf/virdomainobjlist.c                   |   6 +-
>  src/conf/virinterfaceobj.c                    |   2 +-
>  src/conf/virnetworkobj.c                      |   8 +-
>  src/conf/virnodedeviceobj.c                   |   2 +-
>  src/conf/virnwfilterbindingdef.h              |   2 +-
>  src/conf/virnwfilterbindingobjlist.c          |   4 +-
>  src/conf/virsecretobj.c                       |   2 +-
>  src/conf/virstorageobj.c                      |  14 +-
>  src/hyperv/hyperv_driver.c                    |   4 +-
>  src/hyperv/hyperv_wmi.c                       |  18 +-
>  src/hyperv/hyperv_wmi.h                       |  12 +-
>  src/hypervisor/virclosecallbacks.c            |   2 +-
>  src/libvirt_private.syms                      |   2 +
>  src/libxl/libxl_logger.c                      |   2 +-
>  src/locking/lock_daemon.c                     |   4 +-
>  src/nwfilter/nwfilter_dhcpsnoop.c             |   6 +-
>  src/nwfilter/nwfilter_ebiptables_driver.c     |  19 +-
>  src/nwfilter/nwfilter_gentech_driver.c        |  36 +-
>  src/nwfilter/nwfilter_gentech_driver.h        |   2 +-
>  src/nwfilter/nwfilter_learnipaddr.c           |   4 +-
>  src/nwfilter/nwfilter_tech_driver.h           |   2 +-
>  src/qemu/qemu_agent.c                         |   4 +-
>  src/qemu/qemu_backup.c                        |  14 +-
>  src/qemu/qemu_backup.h                        |   2 +-
>  src/qemu/qemu_block.c                         |  42 +-
>  src/qemu/qemu_block.h                         |  18 +-
>  src/qemu/qemu_blockjob.c                      |   6 +-
>  src/qemu/qemu_capabilities.c                  |   8 +-
>  src/qemu/qemu_checkpoint.c                    |   6 +-
>  src/qemu/qemu_checkpoint.h                    |   2 +-
>  src/qemu/qemu_conf.c                          |   4 +-
>  src/qemu/qemu_conf.h                          |   2 +-
>  src/qemu/qemu_domain.c                        |   8 +-
>  src/qemu/qemu_domain.h                        |   2 +-
>  src/qemu/qemu_driver.c                        |  24 +-
>  src/qemu/qemu_interop_config.c                |  13 +-
>  src/qemu/qemu_migration.c                     |   2 +-
>  src/qemu/qemu_migration_cookie.c              |   2 +-
>  src/qemu/qemu_monitor.c                       |  28 +-
>  src/qemu/qemu_monitor.h                       |  20 +-
>  src/qemu/qemu_monitor_json.c                  |  50 +-
>  src/qemu/qemu_monitor_json.h                  |  22 +-
>  src/qemu/qemu_process.c                       |  18 +-
>  src/qemu/qemu_qapi.c                          |  14 +-
>  src/qemu/qemu_qapi.h                          |   6 +-
>  src/qemu/qemu_snapshot.c                      |  16 +-
>  src/rpc/virnetdaemon.c                        |  13 +-
>  src/security/security_selinux.c               |   2 +-
>  src/util/virfilecache.c                       |   2 +-
>  src/util/virhash.c                            | 571 ++++++++----------
>  src/util/virhash.h                            |  47 +-
>  src/util/viriptables.c                        |   4 +-
>  src/util/virlockspace.c                       |   4 +-
>  src/util/virmacmap.c                          |   4 +-
>  src/util/virstoragefile.c                     |   8 +-
>  src/util/virsystemd.c                         |   2 +-
>  tests/meson.build                             |   2 -
>  tests/nwfilterxml2firewalltest.c              |  24 +-
>  tests/qemublocktest.c                         |  26 +-
>  tests/qemuhotplugtest.c                       |   6 +-
>  tests/qemumigparamstest.c                     |   4 +-
>  tests/qemumonitorjsontest.c                   |  30 +-
>  tests/qemumonitortestutils.c                  |   6 +-
>  tests/qemumonitortestutils.h                  |   4 +-
>  tests/qemusecuritymock.c                      |   4 +-
>  .../blockjob-blockdev-in.xml                  | 116 ++--
>  tests/qemuxml2argvtest.c                      |   4 +-
>  tests/qemuxml2xmltest.c                       |   5 +-
>  tests/testutilsqemu.c                         |   6 +-
>  tests/testutilsqemu.h                         |   4 +-
>  tests/testutilsqemuschema.c                   |  10 +-
>  tests/testutilsqemuschema.h                   |   8 +-
>  tests/virdeterministichashmock.c              |  36 --
>  tests/virhashdata.h                           | 284 ---------
>  tests/virhashtest.c                           | 564 -----------------
>  tests/virmacmaptest.c                         |   2 +-
>  87 files changed, 690 insertions(+), 1682 deletions(-)
>  delete mode 100644 tests/virdeterministichashmock.c
>  delete mode 100644 tests/virhashdata.h
>  delete mode 100644 tests/virhashtest.c
>
> --
> 2.26.2
>

Series LGTM.

Reviewed-by: Neal Gompa <ngompa13 at gmail.com>


-- 
真実はいつも一つ!/ Always, there's only one truth!





More information about the libvir-list mailing list