On 11/4/20 2:05 PM, Peter Krempa 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'
LGTM
Reviewed-by: Daniel Henrique Barboza <danielhb413(a)gmail.com>
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