[PATCH 0/6] Drop internal virXXXPtr typedefs

This is patch set that implement dropping of virXXXPtr typedefs as discussed here: https://listman.redhat.com/archives/libvir-list/2021-March/msg00427.html and it does is in big bang style, just like suggested in the discussion. Patches can be found here: https://gitlab.com/MichalPrivoznik/libvirt/-/tree/ptr_remove And of course pipeline is green: https://gitlab.com/MichalPrivoznik/libvirt/-/pipelines/269102351 Patch 6/6 is intentionally cut off as it has ~ 6MiB. I'll replace $URL in its commit message with link to this cover letter, once I send it. I've played around with sed and came to the following ugly, horrible and ineffective bash script: =========== #!/bin/bash SED_SCRIPT="sed_script" export IFS=$'\n' PRESERVED=( $(git grep -h "^typedef.*Ptr;$" -- include/) ) for i in $(git grep -h "^typedef.*Ptr;$"); do subst=1 for p in ${PRESERVED[*]}; do if [[ $i == *$p* ]]; then subst=0 fi done if [ $subst -ne 1 ]; then continue; fi PTR=$(echo $i | cut -d'*' -f2 | cut -d';' -f1); if [[ $i == *struct* ]]; then SRC=$(echo ${i#"typedef "} | cut -d' ' -f1-2); else SRC=$(echo ${i#"typedef "} | cut -d' ' -f1) ; fi if [ "$1" -eq 0 ]; then echo "s/${PTR} /${SRC} */g"; elif [ "$1" -eq 1 ]; then echo "s/${PTR}/${SRC} */g"; echo "/^typedef.*\*${SRC} \*;$/D"; fi done > ${SED_SCRIPT} for i in $(git ls-files); do if [ -f $i -a ! -L $i ]; then echo $i; sed -i -f ${SED_SCRIPT} $i; fi done rm ${SED_SCRIPT} =========== I've ran it like following: ./script.sh 0 && ./script.sh 1 Mostly, because in the first run I wanted to fix following pattern: virXXXPtr variable; and in the second: static virXXXPtr function() And just like always, I had to fix some stuff by hand. For instance, in vbox there is this function virVBoxSnapshotConfHardDiskPtrByLocation() and of course there's also virVBoxSnapshotConfHardDiskPtr. Then, I've dropped some empty lines, mostly from patterns like this: typedef struct _virXXX virXXX; <!-- typedef virXXXPtr used to live here --> struct _virXXX { Michal Prívozník (6): virsysinfo: Define and use auto cleanup func for virSysinfoDef properly gendispatch: Don't use virXXXPtr for internal types syntax-check: Fix and rename virSecurity rule virconftypes: Fix name of virCapsGuestArchPtr lib: Put some variable declarations on individual lines lib: Drop internal virXXXPtr typedefs build-aux/syntax-check.mk | 4 +- docs/advanced-tests.rst | 2 +- docs/api_extension.html.in | 2 +- docs/coding-style.rst | 2 +- docs/internals/command.html.in | 12 +- docs/internals/rpc.html.in | 32 +- scripts/esx_vi_generator.py | 6 +- scripts/hyperv_wmi_generator.py | 6 +- src/access/viraccessdriver.h | 52 +- src/access/viraccessdrivernop.c | 46 +- src/access/viraccessdriverpolkit.c | 52 +- src/access/viraccessdriverstack.c | 82 +- src/access/viraccessdriverstack.h | 4 +- src/access/viraccessmanager.c | 78 +- src/access/viraccessmanager.h | 57 +- src/admin/admin_remote.c | 56 +- src/admin/admin_server.c | 34 +- src/admin/admin_server.h | 26 +- src/admin/admin_server_dispatch.c | 129 +- src/admin/admin_server_dispatch.h | 8 +- src/admin/libvirt-admin.c | 8 +- src/bhyve/bhyve_capabilities.c | 26 +- src/bhyve/bhyve_capabilities.h | 8 +- src/bhyve/bhyve_command.c | 121 +- src/bhyve/bhyve_command.h | 14 +- src/bhyve/bhyve_conf.c | 18 +- src/bhyve/bhyve_conf.h | 9 +- src/bhyve/bhyve_device.c | 30 +- src/bhyve/bhyve_device.h | 6 +- src/bhyve/bhyve_domain.c | 36 +- src/bhyve/bhyve_domain.h | 7 +- src/bhyve/bhyve_driver.c | 161 +- src/bhyve/bhyve_driver.h | 6 +- src/bhyve/bhyve_monitor.c | 34 +- src/bhyve/bhyve_monitor.h | 7 +- src/bhyve/bhyve_parse_command.c | 40 +- src/bhyve/bhyve_parse_command.h | 4 +- src/bhyve/bhyve_process.c | 52 +- src/bhyve/bhyve_process.h | 16 +- src/bhyve/bhyve_utils.h | 25 +- src/conf/backup_conf.c | 54 +- src/conf/backup_conf.h | 24 +- src/conf/capabilities.c | 240 +- src/conf/capabilities.h | 116 +- src/conf/checkpoint_conf.c | 80 +- src/conf/checkpoint_conf.h | 23 +- src/conf/cpu_conf.c | 78 +- src/conf/cpu_conf.h | 71 +- src/conf/device_conf.c | 36 +- src/conf/device_conf.h | 42 +- src/conf/domain_addr.c | 315 +-- src/conf/domain_addr.h | 128 +- src/conf/domain_audit.c | 96 +- src/conf/domain_audit.h | 76 +- src/conf/domain_capabilities.c | 70 +- src/conf/domain_capabilities.h | 39 +- src/conf/domain_conf.c | 2508 ++++++++--------- src/conf/domain_conf.h | 967 ++++--- src/conf/domain_event.c | 552 ++-- src/conf/domain_event.h | 178 +- src/conf/domain_nwfilter.c | 18 +- src/conf/domain_nwfilter.h | 6 +- src/conf/domain_validate.c | 64 +- src/conf/domain_validate.h | 10 +- src/conf/interface_conf.c | 76 +- src/conf/interface_conf.h | 18 +- src/conf/moment_conf.c | 8 +- src/conf/moment_conf.h | 8 +- src/conf/netdev_bandwidth_conf.c | 12 +- src/conf/netdev_bandwidth_conf.h | 6 +- src/conf/netdev_vlan_conf.c | 4 +- src/conf/netdev_vlan_conf.h | 4 +- src/conf/netdev_vport_profile_conf.c | 6 +- src/conf/netdev_vport_profile_conf.h | 4 +- src/conf/network_conf.c | 198 +- src/conf/network_conf.h | 105 +- src/conf/network_event.c | 26 +- src/conf/network_event.h | 6 +- src/conf/networkcommon_conf.c | 6 +- src/conf/networkcommon_conf.h | 6 +- src/conf/node_device_conf.c | 214 +- src/conf/node_device_conf.h | 70 +- src/conf/node_device_event.c | 37 +- src/conf/node_device_event.h | 8 +- src/conf/node_device_util.c | 4 +- src/conf/node_device_util.h | 4 +- src/conf/numa_conf.c | 161 +- src/conf/numa_conf.h | 93 +- src/conf/nwfilter_conf.c | 142 +- src/conf/nwfilter_conf.h | 52 +- src/conf/nwfilter_ipaddrmap.c | 10 +- src/conf/nwfilter_ipaddrmap.h | 2 +- src/conf/nwfilter_params.c | 77 +- src/conf/nwfilter_params.h | 42 +- src/conf/object_event.c | 134 +- src/conf/object_event.h | 18 +- src/conf/object_event_private.h | 18 +- src/conf/secret_conf.c | 16 +- src/conf/secret_conf.h | 7 +- src/conf/secret_event.c | 37 +- src/conf/secret_event.h | 8 +- src/conf/snapshot_conf.c | 98 +- src/conf/snapshot_conf.h | 41 +- src/conf/snapshot_conf_priv.h | 4 +- src/conf/storage_adapter_conf.c | 30 +- src/conf/storage_adapter_conf.h | 13 +- src/conf/storage_capabilities.c | 14 +- src/conf/storage_capabilities.h | 7 +- src/conf/storage_conf.c | 143 +- src/conf/storage_conf.h | 82 +- src/conf/storage_encryption_conf.c | 44 +- src/conf/storage_encryption_conf.h | 15 +- src/conf/storage_event.c | 37 +- src/conf/storage_event.h | 8 +- src/conf/storage_source_conf.c | 152 +- src/conf/storage_source_conf.h | 125 +- src/conf/virchrdev.c | 19 +- src/conf/virchrdev.h | 7 +- src/conf/virconftypes.h | 114 - src/conf/virdomaincheckpointobjlist.c | 58 +- src/conf/virdomaincheckpointobjlist.h | 54 +- src/conf/virdomainmomentobjlist.c | 110 +- src/conf/virdomainmomentobjlist.h | 66 +- src/conf/virdomainobjlist.c | 144 +- src/conf/virdomainobjlist.h | 55 +- src/conf/virdomainsnapshotobjlist.c | 62 +- src/conf/virdomainsnapshotobjlist.h | 54 +- src/conf/virinterfaceobj.c | 83 +- src/conf/virinterfaceobj.h | 44 +- src/conf/virnetworkobj.c | 271 +- src/conf/virnetworkobj.h | 156 +- src/conf/virnetworkportdef.c | 18 +- src/conf/virnetworkportdef.h | 15 +- src/conf/virnodedeviceobj.c | 159 +- src/conf/virnodedeviceobj.h | 57 +- src/conf/virnwfilterbindingdef.c | 26 +- src/conf/virnwfilterbindingdef.h | 16 +- src/conf/virnwfilterbindingobj.c | 40 +- src/conf/virnwfilterbindingobj.h | 23 +- src/conf/virnwfilterbindingobjlist.c | 88 +- src/conf/virnwfilterbindingobjlist.h | 27 +- src/conf/virnwfilterobj.c | 112 +- src/conf/virnwfilterobj.h | 59 +- src/conf/virsavecookie.c | 22 +- src/conf/virsavecookie.h | 25 +- src/conf/virsecretobj.c | 139 +- src/conf/virsecretobj.h | 60 +- src/conf/virstorageobj.c | 340 ++- src/conf/virstorageobj.h | 150 +- src/cpu/cpu.c | 70 +- src/cpu/cpu.h | 125 +- src/cpu/cpu_arm.c | 94 +- src/cpu/cpu_ppc64.c | 63 +- src/cpu/cpu_s390.c | 8 +- src/cpu/cpu_x86.c | 426 ++- src/cpu/cpu_x86.h | 8 +- src/cpu/cpu_x86_data.h | 3 - src/datatypes.c | 58 +- src/datatypes.h | 74 +- src/driver-hypervisor.h | 3 +- src/driver-interface.h | 1 - src/driver-network.h | 1 - src/driver-nodedev.h | 1 - src/driver-nwfilter.h | 1 - src/driver-secret.h | 1 - src/driver-state.h | 2 - src/driver-storage.h | 1 - src/driver-stream.h | 2 - src/driver.c | 2 +- src/driver.h | 32 +- src/esx/esx_driver.c | 22 +- src/esx/esx_interface_driver.c | 4 +- src/esx/esx_network_driver.c | 8 +- src/esx/esx_private.h | 4 +- src/esx/esx_storage_driver.c | 28 +- src/esx/esx_util.c | 4 +- src/esx/esx_util.h | 2 +- src/esx/esx_vi.c | 6 +- src/esx/esx_vi.h | 8 +- src/esx/esx_vi_types.c | 12 +- src/esx/esx_vi_types.h | 26 +- src/hyperv/hyperv_driver.c | 74 +- src/hyperv/hyperv_private.h | 4 +- src/hyperv/hyperv_util.c | 4 +- src/hyperv/hyperv_util.h | 2 +- src/hyperv/hyperv_wmi.c | 66 +- src/hyperv/hyperv_wmi.h | 49 +- src/hyperv/hyperv_wmi_classes.h | 4 +- src/hypervisor/domain_cgroup.c | 20 +- src/hypervisor/domain_cgroup.h | 16 +- src/hypervisor/domain_driver.c | 29 +- src/hypervisor/domain_driver.h | 18 +- src/hypervisor/virclosecallbacks.c | 55 +- src/hypervisor/virclosecallbacks.h | 25 +- src/hypervisor/virhostdev.c | 327 +-- src/hypervisor/virhostdev.h | 121 +- src/interface/interface_backend_netcf.c | 26 +- src/interface/interface_backend_udev.c | 14 +- src/libvirt.c | 38 +- src/libxl/libxl_capabilities.c | 64 +- src/libxl/libxl_capabilities.h | 6 +- src/libxl/libxl_conf.c | 142 +- src/libxl/libxl_conf.h | 75 +- src/libxl/libxl_domain.c | 196 +- src/libxl/libxl_domain.h | 57 +- src/libxl/libxl_driver.c | 727 ++--- src/libxl/libxl_logger.c | 8 +- src/libxl/libxl_logger.h | 9 +- src/libxl/libxl_migration.c | 145 +- src/libxl/libxl_migration.h | 24 +- src/libxl/xen_common.c | 184 +- src/libxl/xen_common.h | 30 +- src/libxl/xen_xl.c | 178 +- src/libxl/xen_xl.h | 8 +- src/libxl/xen_xm.c | 43 +- src/libxl/xen_xm.h | 6 +- src/locking/domain_lock.c | 72 +- src/locking/domain_lock.h | 40 +- src/locking/lock_daemon.c | 106 +- src/locking/lock_daemon.h | 10 +- src/locking/lock_daemon_config.c | 12 +- src/locking/lock_daemon_config.h | 8 +- src/locking/lock_daemon_dispatch.c | 92 +- src/locking/lock_driver.h | 21 +- src/locking/lock_driver_lockd.c | 73 +- src/locking/lock_driver_nop.c | 16 +- src/locking/lock_driver_sanlock.c | 62 +- src/locking/lock_manager.c | 42 +- src/locking/lock_manager.h | 29 +- src/logging/log_daemon.c | 88 +- src/logging/log_daemon.h | 7 +- src/logging/log_daemon_config.c | 12 +- src/logging/log_daemon_config.h | 8 +- src/logging/log_daemon_dispatch.c | 32 +- src/logging/log_handler.c | 72 +- src/logging/log_handler.h | 17 +- src/logging/log_manager.c | 24 +- src/logging/log_manager.h | 13 +- src/lxc/lxc_cgroup.c | 74 +- src/lxc/lxc_cgroup.h | 16 +- src/lxc/lxc_conf.c | 34 +- src/lxc/lxc_conf.h | 37 +- src/lxc/lxc_container.c | 92 +- src/lxc/lxc_container.h | 6 +- src/lxc/lxc_controller.c | 225 +- src/lxc/lxc_domain.c | 56 +- src/lxc/lxc_domain.h | 18 +- src/lxc/lxc_driver.c | 590 ++-- src/lxc/lxc_fuse.c | 32 +- src/lxc/lxc_fuse.h | 10 +- src/lxc/lxc_hostdev.c | 30 +- src/lxc/lxc_hostdev.h | 20 +- src/lxc/lxc_monitor.c | 50 +- src/lxc/lxc_monitor.h | 28 +- src/lxc/lxc_native.c | 114 +- src/lxc/lxc_native.h | 6 +- src/lxc/lxc_process.c | 162 +- src/lxc/lxc_process.h | 38 +- src/network/bridge_driver.c | 568 ++-- src/network/bridge_driver.h | 6 +- src/network/bridge_driver_linux.c | 100 +- src/network/bridge_driver_nop.c | 8 +- src/network/bridge_driver_platform.h | 17 +- src/node_device/node_device_driver.c | 74 +- src/node_device/node_device_driver.h | 10 +- src/node_device/node_device_udev.c | 152 +- src/nwfilter/nwfilter_dhcpsnoop.c | 186 +- src/nwfilter/nwfilter_dhcpsnoop.h | 6 +- src/nwfilter/nwfilter_driver.c | 48 +- src/nwfilter/nwfilter_ebiptables_driver.c | 205 +- src/nwfilter/nwfilter_gentech_driver.c | 129 +- src/nwfilter/nwfilter_gentech_driver.h | 18 +- src/nwfilter/nwfilter_learnipaddr.c | 40 +- src/nwfilter/nwfilter_learnipaddr.h | 6 +- src/nwfilter/nwfilter_tech_driver.h | 8 +- src/openvz/openvz_conf.c | 30 +- src/openvz/openvz_conf.h | 12 +- src/openvz/openvz_driver.c | 141 +- src/openvz/openvz_util.c | 2 +- src/qemu/THREADS.txt | 72 +- src/qemu/qemu_agent.c | 279 +- src/qemu/qemu_agent.h | 90 +- src/qemu/qemu_alias.c | 72 +- src/qemu/qemu_alias.h | 48 +- src/qemu/qemu_backup.c | 136 +- src/qemu/qemu_backup.h | 26 +- src/qemu/qemu_block.c | 522 ++-- src/qemu/qemu_block.h | 199 +- src/qemu/qemu_blockjob.c | 334 +-- src/qemu/qemu_blockjob.h | 120 +- src/qemu/qemu_capabilities.c | 643 +++-- src/qemu/qemu_capabilities.h | 117 +- src/qemu/qemu_capspriv.h | 60 +- src/qemu/qemu_cgroup.c | 202 +- src/qemu/qemu_cgroup.h | 81 +- src/qemu/qemu_checkpoint.c | 190 +- src/qemu/qemu_checkpoint.h | 52 +- src/qemu/qemu_command.c | 1154 ++++---- src/qemu/qemu_command.h | 176 +- src/qemu/qemu_conf.c | 204 +- src/qemu/qemu_conf.h | 105 +- src/qemu/qemu_dbus.c | 38 +- src/qemu/qemu_dbus.h | 22 +- src/qemu/qemu_domain.c | 1453 +++++----- src/qemu/qemu_domain.h | 627 ++--- src/qemu/qemu_domain_address.c | 384 +-- src/qemu/qemu_domain_address.h | 44 +- src/qemu/qemu_domainjob.c | 132 +- src/qemu/qemu_domainjob.h | 100 +- src/qemu/qemu_driver.c | 2026 ++++++------- src/qemu/qemu_extdevice.c | 82 +- src/qemu/qemu_extdevice.h | 36 +- src/qemu/qemu_firmware.c | 140 +- src/qemu/qemu_firmware.h | 13 +- src/qemu/qemu_hostdev.c | 128 +- src/qemu/qemu_hostdev.h | 92 +- src/qemu/qemu_hotplug.c | 876 +++--- src/qemu/qemu_hotplug.h | 190 +- src/qemu/qemu_interface.c | 42 +- src/qemu/qemu_interface.h | 38 +- src/qemu/qemu_interop_config.c | 4 +- src/qemu/qemu_migration.c | 598 ++-- src/qemu/qemu_migration.h | 76 +- src/qemu/qemu_migration_cookie.c | 188 +- src/qemu/qemu_migration_cookie.h | 66 +- src/qemu/qemu_migration_params.c | 139 +- src/qemu/qemu_migration_params.h | 69 +- src/qemu/qemu_migration_paramspriv.h | 14 +- src/qemu/qemu_monitor.c | 600 ++-- src/qemu/qemu_monitor.h | 710 +++-- src/qemu/qemu_monitor_json.c | 1544 +++++----- src/qemu/qemu_monitor_json.h | 413 ++- src/qemu/qemu_monitor_priv.h | 2 +- src/qemu/qemu_monitor_text.c | 10 +- src/qemu/qemu_monitor_text.h | 10 +- src/qemu/qemu_namespace.c | 182 +- src/qemu/qemu_namespace.h | 66 +- src/qemu/qemu_process.c | 1198 ++++---- src/qemu/qemu_process.h | 158 +- src/qemu/qemu_processpriv.h | 6 +- src/qemu/qemu_qapi.c | 48 +- src/qemu/qemu_qapi.h | 4 +- src/qemu/qemu_saveimage.c | 78 +- src/qemu/qemu_saveimage.h | 44 +- src/qemu/qemu_security.c | 140 +- src/qemu/qemu_security.h | 110 +- src/qemu/qemu_slirp.c | 44 +- src/qemu/qemu_slirp.h | 39 +- src/qemu/qemu_snapshot.c | 303 +- src/qemu/qemu_snapshot.h | 20 +- src/qemu/qemu_tpm.c | 44 +- src/qemu/qemu_tpm.h | 24 +- src/qemu/qemu_validate.c | 162 +- src/qemu/qemu_validate.h | 2 +- src/qemu/qemu_vhost_user.c | 49 +- src/qemu/qemu_vhost_user.h | 15 +- src/qemu/qemu_vhost_user_gpu.c | 24 +- src/qemu/qemu_vhost_user_gpu.h | 24 +- src/qemu/qemu_virtiofs.c | 46 +- src/qemu/qemu_virtiofs.h | 28 +- src/remote/remote_daemon.c | 46 +- src/remote/remote_daemon.h | 25 +- src/remote/remote_daemon_config.c | 4 +- src/remote/remote_daemon_dispatch.c | 990 +++---- src/remote/remote_daemon_dispatch.h | 2 +- src/remote/remote_daemon_stream.c | 82 +- src/remote/remote_daemon_stream.h | 12 +- src/remote/remote_driver.c | 590 ++-- src/remote/remote_sockets.c | 4 +- src/remote/remote_sockets.h | 4 +- src/remote/remote_ssh_helper.c | 17 +- src/rpc/gendispatch.pl | 66 +- src/rpc/virkeepalive.c | 38 +- src/rpc/virkeepalive.h | 21 +- src/rpc/virnetclient.c | 271 +- src/rpc/virnetclient.h | 82 +- src/rpc/virnetclientprogram.c | 38 +- src/rpc/virnetclientprogram.h | 30 +- src/rpc/virnetclientstream.c | 82 +- src/rpc/virnetclientstream.h | 49 +- src/rpc/virnetdaemon.c | 114 +- src/rpc/virnetdaemon.h | 46 +- src/rpc/virnetlibsshsession.c | 84 +- src/rpc/virnetlibsshsession.h | 29 +- src/rpc/virnetmessage.c | 42 +- src/rpc/virnetmessage.h | 46 +- src/rpc/virnetsaslcontext.c | 50 +- src/rpc/virnetsaslcontext.h | 36 +- src/rpc/virnetserver.c | 202 +- src/rpc/virnetserver.h | 74 +- src/rpc/virnetserverclient.c | 231 +- src/rpc/virnetserverclient.h | 130 +- src/rpc/virnetserverprogram.c | 94 +- src/rpc/virnetserverprogram.h | 70 +- src/rpc/virnetserverservice.c | 80 +- src/rpc/virnetserverservice.h | 36 +- src/rpc/virnetsocket.c | 174 +- src/rpc/virnetsocket.h | 95 +- src/rpc/virnetsshsession.c | 85 +- src/rpc/virnetsshsession.h | 31 +- src/rpc/virnettlscontext.c | 58 +- src/rpc/virnettlscontext.h | 32 +- src/secret/secret_driver.c | 51 +- src/security/security_apparmor.c | 218 +- src/security/security_dac.c | 474 ++-- src/security/security_dac.h | 8 +- src/security/security_driver.c | 8 +- src/security/security_driver.h | 181 +- src/security/security_manager.c | 264 +- src/security/security_manager.h | 210 +- src/security/security_nop.c | 128 +- src/security/security_selinux.c | 530 ++-- src/security/security_stack.c | 345 ++- src/security/security_stack.h | 12 +- src/security/virt-aa-helper.c | 58 +- src/storage/storage_backend.c | 10 +- src/storage/storage_backend.h | 57 +- src/storage/storage_backend_disk.c | 96 +- src/storage/storage_backend_fs.c | 38 +- src/storage/storage_backend_gluster.c | 35 +- src/storage/storage_backend_iscsi.c | 28 +- src/storage/storage_backend_iscsi_direct.c | 36 +- src/storage/storage_backend_logical.c | 80 +- src/storage/storage_backend_mpath.c | 14 +- src/storage/storage_backend_rbd.c | 118 +- src/storage/storage_backend_scsi.c | 39 +- src/storage/storage_backend_sheepdog.c | 48 +- src/storage/storage_backend_sheepdog_priv.h | 4 +- src/storage/storage_backend_vstorage.c | 16 +- src/storage/storage_backend_zfs.c | 42 +- src/storage/storage_driver.c | 293 +- src/storage/storage_driver.h | 6 +- src/storage/storage_util.c | 270 +- src/storage/storage_util.h | 89 +- src/storage_file/storage_file_backend.c | 6 +- src/storage_file/storage_file_backend.h | 24 +- src/storage_file/storage_file_backend_fs.c | 36 +- .../storage_file_backend_gluster.c | 60 +- src/storage_file/storage_file_probe.c | 10 +- src/storage_file/storage_file_probe.h | 2 +- src/storage_file/storage_source.c | 110 +- src/storage_file/storage_source.h | 56 +- .../storage_source_backingstore.c | 104 +- .../storage_source_backingstore.h | 8 +- src/test/test_driver.c | 1162 ++++---- src/util/virarptable.c | 8 +- src/util/virarptable.h | 8 +- src/util/viraudit.c | 2 +- src/util/viraudit.h | 2 +- src/util/virauth.c | 2 +- src/util/virauth.h | 2 +- src/util/virauthconfig.c | 12 +- src/util/virauthconfig.h | 10 +- src/util/virbitmap.c | 94 +- src/util/virbitmap.h | 69 +- src/util/virbuffer.c | 50 +- src/util/virbuffer.h | 47 +- src/util/vircgroup.c | 484 ++-- src/util/vircgroup.h | 139 +- src/util/vircgroupbackend.c | 10 +- src/util/vircgroupbackend.h | 151 +- src/util/vircgrouppriv.h | 27 +- src/util/vircgroupv1.c | 152 +- src/util/vircgroupv2.c | 144 +- src/util/vircgroupv2devices.c | 22 +- src/util/vircgroupv2devices.h | 10 +- src/util/vircommand.c | 206 +- src/util/vircommand.h | 123 +- src/util/vircommandpriv.h | 2 +- src/util/virconf.c | 147 +- src/util/virconf.h | 55 +- src/util/virdnsmasq.c | 40 +- src/util/virdnsmasq.h | 15 +- src/util/virfdstream.c | 81 +- src/util/virfile.c | 28 +- src/util/virfile.h | 14 +- src/util/virfilecache.c | 30 +- src/util/virfilecache.h | 14 +- src/util/virfirewall.c | 85 +- src/util/virfirewall.h | 38 +- src/util/virfirmware.c | 12 +- src/util/virfirmware.h | 10 +- src/util/virgic.h | 1 - src/util/virhash.c | 18 +- src/util/virhash.h | 10 +- src/util/virhostcpu.c | 40 +- src/util/virhostcpu.h | 11 +- src/util/viridentity.c | 52 +- src/util/viridentity.h | 50 +- src/util/viriptables.c | 90 +- src/util/viriptables.h | 60 +- src/util/virjson.c | 341 ++- src/util/virjson.h | 161 +- src/util/virlease.c | 10 +- src/util/virlease.h | 6 +- src/util/virlockspace.c | 60 +- src/util/virlockspace.h | 21 +- src/util/virlog.c | 90 +- src/util/virlog.h | 39 +- src/util/virmacaddr.c | 12 +- src/util/virmacaddr.h | 14 +- src/util/virmacmap.c | 34 +- src/util/virmacmap.h | 13 +- src/util/virmdev.c | 88 +- src/util/virmdev.h | 75 +- src/util/virnetdev.c | 88 +- src/util/virnetdev.h | 36 +- src/util/virnetdevbandwidth.c | 27 +- src/util/virnetdevbandwidth.h | 15 +- src/util/virnetdevip.c | 42 +- src/util/virnetdevip.h | 27 +- src/util/virnetdevmacvlan.c | 12 +- src/util/virnetdevmidonet.c | 4 +- src/util/virnetdevopenvswitch.c | 14 +- src/util/virnetdevtap.c | 2 +- src/util/virnetdevtap.h | 2 +- src/util/virnetdevvlan.c | 6 +- src/util/virnetdevvlan.h | 7 +- src/util/virnetdevvportprofile.c | 8 +- src/util/virnetdevvportprofile.h | 7 +- src/util/virnetlink.c | 21 +- src/util/virnetlink.h | 3 +- src/util/virnodesuspend.c | 4 +- src/util/virnuma.c | 22 +- src/util/virnuma.h | 12 +- src/util/virnvme.c | 66 +- src/util/virnvme.h | 40 +- src/util/virobject.c | 80 +- src/util/virobject.h | 28 +- src/util/virpci.c | 263 +- src/util/virpci.h | 132 +- src/util/virperf.c | 32 +- src/util/virperf.h | 13 +- src/util/virpolkit.c | 16 +- src/util/virpolkit.h | 5 +- src/util/virportallocator.c | 27 +- src/util/virportallocator.h | 5 +- src/util/virprocess.c | 16 +- src/util/virprocess.h | 4 +- src/util/virqemu.c | 54 +- src/util/virqemu.h | 26 +- src/util/virresctrl.c | 331 ++- src/util/virresctrl.h | 75 +- src/util/virresctrlpriv.h | 4 +- src/util/virrotatingfile.c | 54 +- src/util/virrotatingfile.h | 22 +- src/util/virscsi.c | 69 +- src/util/virscsi.h | 52 +- src/util/virscsivhost.c | 56 +- src/util/virscsivhost.h | 40 +- src/util/virseclabel.c | 16 +- src/util/virseclabel.h | 12 +- src/util/virsecret.c | 12 +- src/util/virsecret.h | 13 +- src/util/virsocketaddr.c | 65 +- src/util/virsocketaddr.h | 52 +- src/util/virsysinfo.c | 140 +- src/util/virsysinfo.h | 47 +- src/util/virsysinfopriv.h | 8 +- src/util/virsystemd.c | 30 +- src/util/virsystemd.h | 11 +- src/util/virthread.c | 52 +- src/util/virthread.h | 64 +- src/util/virthreadpool.c | 68 +- src/util/virthreadpool.h | 25 +- src/util/virtpm.c | 18 +- src/util/virtypedparam.c | 32 +- src/util/virtypedparam.h | 29 +- src/util/viruri.c | 20 +- src/util/viruri.h | 19 +- src/util/virusb.c | 76 +- src/util/virusb.h | 50 +- src/util/virxml.c | 22 +- src/util/virxml.h | 21 +- src/vbox/vbox_common.c | 274 +- src/vbox/vbox_driver.c | 2 +- src/vbox/vbox_get_driver.h | 6 +- src/vbox/vbox_network.c | 36 +- src/vbox/vbox_snapshot_conf.c | 128 +- src/vbox/vbox_snapshot_conf.h | 62 +- src/vbox/vbox_storage.c | 22 +- src/vbox/vbox_tmpl.c | 44 +- src/vbox/vbox_uniformed_api.h | 51 +- src/vmware/vmware_conf.c | 20 +- src/vmware/vmware_conf.h | 12 +- src/vmware/vmware_driver.c | 70 +- src/vmx/vmx.c | 184 +- src/vmx/vmx.h | 14 +- src/vz/vz_driver.c | 420 +-- src/vz/vz_sdk.c | 387 +-- src/vz/vz_sdk.h | 80 +- src/vz/vz_utils.c | 48 +- src/vz/vz_utils.h | 42 +- tests/bhyveargv2xmlmock.c | 4 +- tests/bhyvexml2argvmock.c | 4 +- tests/commandtest.c | 8 +- tests/cputest.c | 106 +- tests/domaincapstest.c | 22 +- tests/domainconftest.c | 8 +- tests/genericxml2xmltest.c | 10 +- tests/interfacexml2xmltest.c | 2 +- tests/libxlxml2domconfigtest.c | 6 +- tests/lxcconf2xmltest.c | 6 +- tests/lxcxml2xmltest.c | 2 +- tests/networkxml2conftest.c | 18 +- tests/networkxml2firewalltest.c | 2 +- tests/networkxml2xmltest.c | 4 +- tests/networkxml2xmlupdatetest.c | 2 +- tests/nodedevmdevctltest.c | 18 +- tests/nodedevxml2xmltest.c | 6 +- tests/nwfilterxml2firewalltest.c | 29 +- tests/nwfilterxml2xmltest.c | 2 +- tests/openvzutilstest.c | 2 +- tests/qemuagenttest.c | 86 +- tests/qemublocktest.c | 80 +- tests/qemucapabilitiestest.c | 9 +- tests/qemucaps2xmltest.c | 13 +- tests/qemucapsprobe.c | 2 +- tests/qemucapsprobemock.c | 18 +- tests/qemucommandutiltest.c | 2 +- tests/qemucpumock.c | 4 +- tests/qemudomaincheckpointxml2xmltest.c | 4 +- tests/qemudomainsnapshotxml2xmltest.c | 2 +- tests/qemufirmwaretest.c | 10 +- tests/qemuhotplugmock.c | 8 +- tests/qemuhotplugtest.c | 42 +- tests/qemumigparamstest.c | 10 +- tests/qemumigrationcookiexmltest.c | 10 +- tests/qemumonitorjsontest.c | 141 +- tests/qemumonitortestutils.c | 163 +- tests/qemumonitortestutils.h | 56 +- tests/qemusecuritytest.c | 18 +- tests/qemustatusxml2xmltest.c | 2 +- tests/qemuxml2argvmock.c | 12 +- tests/qemuxml2argvtest.c | 44 +- tests/seclabeltest.c | 2 +- tests/secretxml2xmltest.c | 2 +- tests/securityselinuxlabeltest.c | 8 +- tests/securityselinuxtest.c | 14 +- tests/storagepoolcapstest.c | 8 +- tests/storagepoolxml2argvtest.c | 4 +- tests/storagevolxml2argvtest.c | 8 +- tests/sysinfotest.c | 4 +- tests/testutils.c | 32 +- tests/testutils.h | 12 +- tests/testutilshostcpus.h | 4 +- tests/testutilslxc.c | 12 +- tests/testutilslxc.h | 6 +- tests/testutilsqemu.c | 44 +- tests/testutilsqemu.h | 28 +- tests/testutilsqemuschema.c | 108 +- tests/testutilsqemuschema.h | 14 +- tests/testutilsxen.c | 14 +- tests/testutilsxen.h | 4 +- tests/vboxsnapshotxmltest.c | 2 +- tests/virauthconfigtest.c | 4 +- tests/virbitmaptest.c | 4 +- tests/virbuftest.c | 4 +- tests/vircaps2xmltest.c | 2 +- tests/vircapstest.c | 16 +- tests/vircgroupmock.c | 2 +- tests/vircgrouptest.c | 2 +- tests/virconftest.c | 2 +- tests/virfilecachetest.c | 29 +- tests/virfirewalltest.c | 6 +- tests/virhostcputest.c | 2 +- tests/virhostdevtest.c | 8 +- tests/virjsontest.c | 2 +- tests/virkmodtest.c | 2 +- tests/virlockspacetest.c | 14 +- tests/virlogtest.c | 4 +- tests/virmacmaptest.c | 8 +- tests/virnetdaemontest.c | 40 +- tests/virnetmessagetest.c | 10 +- tests/virnetserverclientmock.c | 4 +- tests/virnetserverclienttest.c | 6 +- tests/virnetsockettest.c | 32 +- tests/virnettlscontexttest.c | 4 +- tests/virnettlssessiontest.c | 8 +- tests/virnumamock.c | 6 +- tests/virnwfilterbindingxml2xmltest.c | 2 +- tests/virpcitest.c | 29 +- tests/virportallocatortest.c | 4 +- tests/virresctrltest.c | 4 +- tests/virrotatingfiletest.c | 26 +- tests/virschematest.c | 10 +- tests/virscsitest.c | 8 +- tests/virstoragetest.c | 24 +- tests/virsystemdtest.c | 10 +- tests/viruritest.c | 4 +- tests/virusbtest.c | 14 +- tests/vmx2xmltest.c | 8 +- tests/vshtabletest.c | 20 +- tests/xlconfigtest.c | 6 +- tests/xmconfigtest.c | 6 +- tests/xml2vmxtest.c | 10 +- tools/virsh-checkpoint.c | 17 +- tools/virsh-completer-checkpoint.c | 2 +- tools/virsh-completer-domain.c | 16 +- tools/virsh-completer-host.c | 6 +- tools/virsh-completer-interface.c | 2 +- tools/virsh-completer-network.c | 8 +- tools/virsh-completer-nodedev.c | 2 +- tools/virsh-completer-nwfilter.c | 4 +- tools/virsh-completer-pool.c | 2 +- tools/virsh-completer-secret.c | 2 +- tools/virsh-completer-snapshot.c | 2 +- tools/virsh-completer-volume.c | 2 +- tools/virsh-console.c | 21 +- tools/virsh-domain-monitor.c | 23 +- tools/virsh-domain.c | 95 +- tools/virsh-host.c | 42 +- tools/virsh-interface.c | 29 +- tools/virsh-network.c | 36 +- tools/virsh-nodedev.c | 25 +- tools/virsh-nwfilter.c | 36 +- tools/virsh-pool.c | 33 +- tools/virsh-secret.c | 19 +- tools/virsh-snapshot.c | 25 +- tools/virsh-util.c | 14 +- tools/virsh-util.h | 1 - tools/virsh-volume.c | 19 +- tools/virsh.c | 12 +- tools/virsh.h | 1 - tools/virt-admin-completer.c | 2 +- tools/virt-admin.c | 44 +- tools/virt-admin.h | 1 - tools/virt-host-validate-common.c | 8 +- tools/virt-host-validate-common.h | 2 +- tools/virt-host-validate-qemu.c | 2 +- tools/virt-login-shell-helper.c | 4 +- tools/vsh-table.c | 36 +- tools/vsh-table.h | 12 +- tools/vsh.c | 4 +- 734 files changed, 29278 insertions(+), 30098 deletions(-) -- 2.26.2

What we are using really is heap allocated structure rather than stack allocated. And for that it's better to use g_autoptr() + G_DEFINE_AUTOPTR_CLEANUP_FUNC() combo, as Glib documentation for g_auto() reads: This is meant to be used with stack-allocated structures and non-pointer types. For the (more commonly used) pointer version, see g_autoptr(). This will be even more visible, when virSysinfoDefPtr type is gone. Stay tuned. Fixes: cee3a900a0d6a8fc79554db22dc262632fe487a6 Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/util/virsysinfo.c | 8 ++++---- src/util/virsysinfo.h | 2 +- tests/sysinfotest.c | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/util/virsysinfo.c b/src/util/virsysinfo.c index 0016028254..1c8193cc58 100644 --- a/src/util/virsysinfo.c +++ b/src/util/virsysinfo.c @@ -314,7 +314,7 @@ virSysinfoParsePPCProcessor(const char *base, virSysinfoDefPtr ret) virSysinfoDefPtr virSysinfoReadPPC(void) { - g_auto(virSysinfoDefPtr) ret = NULL; + g_autoptr(virSysinfoDef) ret = NULL; g_autofree char *outbuf = NULL; ret = g_new0(virSysinfoDef, 1); @@ -436,7 +436,7 @@ virSysinfoParseARMProcessor(const char *base, virSysinfoDefPtr ret) virSysinfoDefPtr virSysinfoReadARM(void) { - g_auto(virSysinfoDefPtr) ret = NULL; + g_autoptr(virSysinfoDef) ret = NULL; g_autofree char *outbuf = NULL; /* Some ARM systems have DMI tables available. */ @@ -602,7 +602,7 @@ virSysinfoParseS390Processor(const char *base, virSysinfoDefPtr ret) virSysinfoDefPtr virSysinfoReadS390(void) { - g_auto(virSysinfoDefPtr) ret = NULL; + g_autoptr(virSysinfoDef) ret = NULL; g_autofree char *outbuf = NULL; ret = g_new0(virSysinfoDef, 1); @@ -1212,7 +1212,7 @@ virSysinfoParseX86Memory(const char *base, virSysinfoDefPtr ret) virSysinfoDefPtr virSysinfoReadDMI(void) { - g_auto(virSysinfoDefPtr) ret = NULL; + g_autoptr(virSysinfoDef) ret = NULL; g_autofree char *outbuf = NULL; g_autoptr(virCommand) cmd = NULL; diff --git a/src/util/virsysinfo.h b/src/util/virsysinfo.h index 6b25969a4b..6ae4ba7bf3 100644 --- a/src/util/virsysinfo.h +++ b/src/util/virsysinfo.h @@ -157,7 +157,7 @@ void virSysinfoChassisDefFree(virSysinfoChassisDefPtr def); void virSysinfoOEMStringsDefFree(virSysinfoOEMStringsDefPtr def); void virSysinfoDefFree(virSysinfoDefPtr def); -G_DEFINE_AUTO_CLEANUP_FREE_FUNC(virSysinfoDefPtr, virSysinfoDefFree, NULL); +G_DEFINE_AUTOPTR_CLEANUP_FUNC(virSysinfoDef, virSysinfoDefFree); int virSysinfoFormat(virBufferPtr buf, virSysinfoDefPtr def) ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2); diff --git a/tests/sysinfotest.c b/tests/sysinfotest.c index 3b418955d0..e40a4564a7 100644 --- a/tests/sysinfotest.c +++ b/tests/sysinfotest.c @@ -91,7 +91,7 @@ testSysinfo(const void *data) { const struct testSysinfoData *testdata = data; const char *sysfsActualData; - g_auto(virSysinfoDefPtr) ret = NULL; + g_autoptr(virSysinfoDef) ret = NULL; g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; g_autofree char *sysinfo = NULL; g_autofree char *cpuinfo = NULL; -- 2.26.2

On a Thursday in 2021, Michal Privoznik wrote:
What we are using really is heap allocated structure rather than stack allocated. And for that it's better to use g_autoptr() + G_DEFINE_AUTOPTR_CLEANUP_FUNC() combo, as Glib documentation for g_auto() reads:
This is meant to be used with stack-allocated structures and non-pointer types. For the (more commonly used) pointer version, see g_autoptr().
This will be even more visible, when virSysinfoDefPtr type is gone. Stay tuned.
Fixes: cee3a900a0d6a8fc79554db22dc262632fe487a6 Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/util/virsysinfo.c | 8 ++++---- src/util/virsysinfo.h | 2 +- tests/sysinfotest.c | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

The use of virXXXPtr is going away soon, therefore use 'virXXX *' instead. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/rpc/gendispatch.pl | 66 +++++++++++++++++++++--------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/src/rpc/gendispatch.pl b/src/rpc/gendispatch.pl index 0020273d9e..9dcd8c3e89 100755 --- a/src/rpc/gendispatch.pl +++ b/src/rpc/gendispatch.pl @@ -113,7 +113,7 @@ sub name_to_TypeName { sub get_conn_type { if ($structprefix eq "admin") { - return "virNetDaemonPtr"; + return "virNetDaemon *"; } else { return "virConnectPtr"; } @@ -499,10 +499,10 @@ elsif ($mode eq "server") { # First we print out a function declaration for the # real dispatcher body print "static int ${name}(\n"; - print " virNetServerPtr server,\n"; - print " virNetServerClientPtr client,\n"; - print " virNetMessagePtr msg,\n"; - print " virNetMessageErrorPtr rerr"; + print " virNetServer *server,\n"; + print " virNetServerClient *client,\n"; + print " virNetMessage *msg,\n"; + print " struct virNetMessageError *rerr"; if ($argtype ne "void") { print ",\n $argtype *args"; } @@ -516,10 +516,10 @@ elsif ($mode eq "server") { # fixed function signature, for use in the dispatcher # table. This simply callers the real dispatcher method print "static int ${name}Helper(\n"; - print " virNetServerPtr server,\n"; - print " virNetServerClientPtr client,\n"; - print " virNetMessagePtr msg,\n"; - print " virNetMessageErrorPtr rerr,\n"; + print " virNetServer *server,\n"; + print " virNetServerClient *client,\n"; + print " virNetMessage *msg,\n"; + print " struct virNetMessageError *rerr,\n"; print " void *args$argann,\n"; print " void *ret$retann)\n"; print "{\n"; @@ -641,7 +641,7 @@ elsif ($mode eq "server") { } push(@args_list, "$1"); push(@args_list, "n$1"); - push(@getters_list, " if (virTypedParamsDeserialize((virTypedParameterRemotePtr) args->$1.$1_val,\n" . + push(@getters_list, " if (virTypedParamsDeserialize((struct _virTypedParameterRemote *) args->$1.$1_val,\n" . " args->$1.$1_len,\n" . " $2,\n" . " &$1,\n" . @@ -687,7 +687,7 @@ elsif ($mode eq "server") { } elsif ($args_member =~ m/^admin_nonnull_(server) (\S+);/) { my $type_name = name_to_TypeName($1); - push(@vars_list, "virNet${type_name}Ptr $2 = NULL"); + push(@vars_list, "virNet${type_name} *$2 = NULL"); push(@getters_list, " if (!($2 = get_nonnull_$1($conn_var, args->$2)))\n" . " goto cleanup;\n"); @@ -697,8 +697,8 @@ elsif ($mode eq "server") { } elsif ($args_member =~ m/^admin_nonnull_(client) (\S+);/) { my $type_name = name_to_TypeName($1); - push(@vars_list, "virNetServerPtr srv = NULL"); - push(@vars_list, "virNetServer${type_name}Ptr $2 = NULL"); + push(@vars_list, "virNetServer *srv = NULL"); + push(@vars_list, "virNetServer${type_name} *$2 = NULL"); push(@getters_list, " if (!(srv = get_nonnull_server($conn_var, args->$2.srv)))\n" . " goto cleanup;\n"); @@ -930,11 +930,11 @@ elsif ($mode eq "server") { my $type_name = name_to_TypeName($1); if ($1 eq "client") { - push(@vars_list, "virNetServer${type_name}Ptr $2 = NULL"); + push(@vars_list, "virNetServer${type_name} *$2 = NULL"); push(@ret_list, "make_nonnull_$1(&ret->$2, $2);\n"); push(@ret_list, "make_nonnull_server(&ret->$2.srv, srv);\n"); } else { - push(@vars_list, "virNet${type_name}Ptr $2 = NULL"); + push(@vars_list, "virNet${type_name} *$2 = NULL"); push(@ret_list, "make_nonnull_$1(&ret->$2, $2);"); } @@ -955,13 +955,13 @@ elsif ($mode eq "server") { push(@ret_list, "if (virTypedParamsSerialize($1, $1_len,\n" . " $2,\n" . - " (virTypedParameterRemotePtr *) &ret->$1.$1_val,\n" . + " (struct _virTypedParameterRemote **) &ret->$1.$1_val,\n" . " &ret->$1.$1_len,\n" . " VIR_TYPED_PARAM_STRING_OKAY) < 0)\n" . " goto cleanup;\n"); push(@free_list, " virTypedParamsFree($1, $1_len);"); - push(@free_list_on_error, "virTypedParamsRemoteFree((virTypedParameterRemotePtr) ret->params.params_val,\n" . + push(@free_list_on_error, "virTypedParamsRemoteFree((struct _virTypedParameterRemote *) ret->params.params_val,\n" . " ret->params.params_len);\n"); } elsif ($ret_member =~ m/^(\/)?\*/) { # ignore comments @@ -989,7 +989,7 @@ elsif ($mode eq "server") { } } - push(@vars_list, "vir${struct_name}Ptr *result = NULL"); + push(@vars_list, "vir${struct_name} **result = NULL"); push(@vars_list, "int nresults = 0"); @args_list = grep {!/\bneed_results\b/} @args_list; @@ -1031,10 +1031,10 @@ elsif ($mode eq "server") { # print functions signature print "static int $name(\n"; - print " virNetServerPtr server G_GNUC_UNUSED,\n"; - print " virNetServerClientPtr client,\n"; - print " virNetMessagePtr msg G_GNUC_UNUSED,\n"; - print " virNetMessageErrorPtr rerr"; + print " virNetServer *server G_GNUC_UNUSED,\n"; + print " virNetServerClient *client,\n"; + print " virNetMessage *msg G_GNUC_UNUSED,\n"; + print " struct virNetMessageError *rerr"; if ($argtype ne "void") { print ",\n $argtype *args"; } @@ -1057,7 +1057,7 @@ elsif ($mode eq "server") { if ($call->{streamflag} ne "none") { print " virStreamPtr st = NULL;\n"; - print " daemonClientStreamPtr stream = NULL;\n"; + print " daemonClientStream *stream = NULL;\n"; if ($call->{sparseflag} ne "none") { print " const bool sparse = args->flags & $call->{sparseflag};\n" } else { @@ -1439,13 +1439,13 @@ elsif ($mode eq "client") { push(@args_list, "int n$1"); push(@setters_list2, "if (virTypedParamsSerialize($1, n$1,\n" . " $2,\n" . - " (virTypedParameterRemotePtr *) &args.$1.$1_val,\n" . + " (struct _virTypedParameterRemote **) &args.$1.$1_val,\n" . " &args.$1.$1_len,\n" . " VIR_TYPED_PARAM_STRING_OKAY) < 0) {\n" . " xdr_free((xdrproc_t)xdr_$call->{args}, (char *)&args);\n" . " goto done;\n" . " }"); - push(@free_list, " virTypedParamsRemoteFree((virTypedParameterRemotePtr) args.params.params_val,\n" . + push(@free_list, " virTypedParamsRemoteFree((struct _virTypedParameterRemote *) args.params.params_val,\n" . " args.params.params_len);\n"); } elsif ($args_member =~ m/^((?:unsigned )?int) (\S+);\s*\/\*\s*call-by-reference\s*\*\//) { my $type_name = "$1 *"; @@ -1626,7 +1626,7 @@ elsif ($mode eq "client") { push(@vars_list, "virTypedParameterPtr ret_params = NULL"); push(@vars_list, "int ret_nparams = 0"); # virTypedParamsDeserialize allocates the array if @params is null - push(@ret_list2, "if (virTypedParamsDeserialize((virTypedParameterRemotePtr) ret.$1.$1_val,\n" . + push(@ret_list2, "if (virTypedParamsDeserialize((struct _virTypedParameterRemote *) ret.$1.$1_val,\n" . " ret.$1.$1_len,\n" . " $2,\n" . " &ret_params,\n" . @@ -1638,7 +1638,7 @@ elsif ($mode eq "client") { $single_ret_cleanup = 1; } elsif ($ret_member =~ m/^remote_typed_param (\S+)<(\S+)>;\s*\/\*\s*insert@(\d+)\s*\*\//) { splice(@args_list, int($3), 0, ("virTypedParameterPtr $1")); - push(@ret_list2, "if (virTypedParamsDeserialize((virTypedParameterRemotePtr) ret.$1.$1_val,\n" . + push(@ret_list2, "if (virTypedParamsDeserialize((struct _virTypedParameterRemote *) ret.$1.$1_val,\n" . " ret.$1.$1_len,\n" . " $2,\n" . " &$1,\n" . @@ -1791,7 +1791,7 @@ elsif ($mode eq "client") { print "{\n"; print " $single_ret_var;\n"; if ($structprefix eq "admin") { - print " remoteAdminPrivPtr priv = $priv_src->privateData;\n"; + print " remoteAdminPriv *priv = $priv_src->privateData;\n"; } else { print " struct private_data *priv = $priv_src->privateData;\n"; } @@ -1806,7 +1806,7 @@ elsif ($mode eq "client") { } if ($call->{streamflag} ne "none") { - print " virNetClientStreamPtr netst = NULL;\n"; + print " virNetClientStream *netst = NULL;\n"; if ($call->{sparseflag} ne "none") { print " const bool sparse = flags & $call->{sparseflag};\n" } else { @@ -2140,7 +2140,7 @@ elsif ($mode eq "client") { $object =~ s/^(\w)/uc $1/e; $object =~ s/_(\w)/uc $1/e; $object =~ s/Nwfilter/NWFilter/; - my $objecttype = $prefix . $object . "DefPtr"; + my $objecttype = $prefix . $object . "Def *"; $apiname .= $action . "ACL"; if ($arg eq "interface") { @@ -2151,9 +2151,9 @@ elsif ($mode eq "client") { push @argdecls, "$connect_ptr conn"; if ($object ne "Connect") { if ($object eq "StorageVol") { - push @argdecls, "virStoragePoolDefPtr pool"; + push @argdecls, "virStoragePoolDef *pool"; } elsif ($object eq "NetworkPort") { - push @argdecls, "virNetworkDefPtr net"; + push @argdecls, "virNetworkDef *net"; } push @argdecls, "$objecttype $arg"; } @@ -2195,7 +2195,7 @@ elsif ($mode eq "client") { print "/* Returns: $fail on error/denied, $pass on allowed */\n"; print "$ret $apiname(" . join(", ", @argdecls) . ")\n"; print "{\n"; - print " virAccessManagerPtr mgr;\n"; + print " virAccessManager *mgr;\n"; print " int rv;\n"; print "\n"; print " if (!(mgr = virAccessManagerGetDefault())) {\n"; -- 2.26.2

On a Thursday in 2021, Michal Privoznik wrote:
The use of virXXXPtr is going away soon, therefore use 'virXXX *' instead.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/rpc/gendispatch.pl | 66 +++++++++++++++++++++--------------------- 1 file changed, 33 insertions(+), 33 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

The aim of virSecurity rule is to discourage from using plain virSecurityManager*() APIs within QEMU driver in favor of their qemuSecurity*() counterparts. The reason is simple: namespaces; virSecurityManager*() needs additional virSecurityManagerTransactionCommit() call to enter given namespace and do its work from there. And that's exactly what those qemuSecurity*() wrappers do. To help us ensure correctness (from this POV), we have a syntax-check rule that forbids any occurrence of "virSecurityManager" string under src/qemu/ (except for qemu_security of course). But with if we want to remove virSecurityManagerPtr type, then we have to allow "virSecurityManager *". Therefore, change the rule so that no call of a function with "virSecurityManager" prefix is allowed. And also change the name to better reflect what is going on. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- build-aux/syntax-check.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build-aux/syntax-check.mk b/build-aux/syntax-check.mk index 2f4f932a5b..c71b608e66 100644 --- a/build-aux/syntax-check.mk +++ b/build-aux/syntax-check.mk @@ -1049,10 +1049,10 @@ sc_prohibit_sysconf_pagesize: halt='use virGetSystemPageSize[KB] instead of sysconf(_SC_PAGESIZE)' \ $(_sc_search_regexp) -sc_prohibit_virSecurity: +sc_prohibit_virSecurityManager: @$(VC_LIST_EXCEPT) | $(GREP) 'src/qemu/' | \ $(GREP) -v 'src/qemu/qemu_security' | \ - xargs $(GREP) -Pn 'virSecurityManager(?!Ptr)' /dev/null && \ + xargs $(GREP) -Pn 'virSecurityManager\S*\(' /dev/null && \ { echo '$(ME): prefer qemuSecurity wrappers' 1>&2; exit 1; } || : sc_prohibit_pthread_create: -- 2.26.2

On a Thursday in 2021, Michal Privoznik wrote:
The aim of virSecurity rule is to discourage from using plain virSecurityManager*() APIs within QEMU driver in favor of their qemuSecurity*() counterparts. The reason is simple: namespaces; virSecurityManager*() needs additional virSecurityManagerTransactionCommit() call to enter given namespace and do its work from there. And that's exactly what those qemuSecurity*() wrappers do.
To help us ensure correctness (from this POV), we have a syntax-check rule that forbids any occurrence of "virSecurityManager" string under src/qemu/ (except for qemu_security of course).
But with if we want to remove virSecurityManagerPtr type, then we have to allow "virSecurityManager *". Therefore, change the rule so that no call of a function with "virSecurityManager" prefix is allowed. And also change the name to better reflect what is going on.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- build-aux/syntax-check.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

The name is supposed to be virCapsGuestArchPtr not ..ptr. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/conf/virconftypes.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/conf/virconftypes.h b/src/conf/virconftypes.h index c51241cfa5..4658d0de9c 100644 --- a/src/conf/virconftypes.h +++ b/src/conf/virconftypes.h @@ -37,7 +37,7 @@ typedef struct _virCapsGuest virCapsGuest; typedef virCapsGuest *virCapsGuestPtr; typedef struct _virCapsGuestArch virCapsGuestArch; -typedef virCapsGuestArch *virCapsGuestArchptr; +typedef virCapsGuestArch *virCapsGuestArchPtr; typedef struct _virCapsGuestDomain virCapsGuestDomain; typedef virCapsGuestDomain *virCapsGuestDomainPtr; -- 2.26.2

On a Thursday in 2021, Michal Privoznik wrote:
The name is supposed to be virCapsGuestArchPtr not ..ptr.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/conf/virconftypes.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

In short, virXXXPtr type is going away. With bing bang. And to help us rewrite the code with a sed script, it's better if each variable is declared on its own line. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/bhyve/bhyve_command.c | 5 ++++- src/bhyve/bhyve_driver.c | 3 ++- src/conf/domain_addr.c | 3 ++- src/conf/domain_conf.c | 3 ++- src/conf/numa_conf.c | 3 ++- src/conf/nwfilter_params.c | 3 ++- src/conf/virnetworkobj.c | 3 ++- src/hypervisor/domain_driver.c | 3 ++- src/hypervisor/virhostdev.c | 3 ++- src/libxl/libxl_driver.c | 9 ++++++--- src/libxl/xen_common.c | 12 ++++++++---- src/libxl/xen_xl.c | 24 +++++++++++++++-------- src/libxl/xen_xm.c | 3 ++- src/lxc/lxc_controller.c | 3 ++- src/lxc/lxc_driver.c | 12 ++++++++---- src/network/bridge_driver.c | 9 +++++++-- src/nwfilter/nwfilter_ebiptables_driver.c | 6 ++++-- src/openvz/openvz_driver.c | 3 ++- src/qemu/qemu_agent.c | 3 ++- src/qemu/qemu_domain.c | 3 ++- src/qemu/qemu_driver.c | 15 +++++++++----- src/qemu/qemu_monitor_json.c | 14 +++++++++---- src/rpc/virnetserverclient.c | 3 ++- src/security/security_stack.c | 3 ++- src/test/test_driver.c | 3 ++- src/util/virconf.c | 11 ++++++++--- src/util/virnetdevbandwidth.c | 3 ++- src/util/virnetdevbandwidth.h | 3 ++- src/vz/vz_driver.c | 3 ++- src/vz/vz_sdk.c | 9 ++++++--- tests/virnetdaemontest.c | 12 ++++++++---- tests/virpcitest.c | 9 ++++++--- 32 files changed, 139 insertions(+), 65 deletions(-) diff --git a/src/bhyve/bhyve_command.c b/src/bhyve/bhyve_command.c index c4c64788b9..e3c2921dea 100644 --- a/src/bhyve/bhyve_command.c +++ b/src/bhyve/bhyve_command.c @@ -917,7 +917,10 @@ virBhyveProcessBuildGrubbhyveCmd(virDomainDefPtr def, const char *devmap_file, char **devicesmap_out) { - virDomainDiskDefPtr hdd, cd, userdef, diskdef; + virDomainDiskDefPtr hdd; + virDomainDiskDefPtr cd; + virDomainDiskDefPtr userdef; + virDomainDiskDefPtr diskdef; virCommandPtr cmd; unsigned int best_idx = UINT_MAX; size_t i; diff --git a/src/bhyve/bhyve_driver.c b/src/bhyve/bhyve_driver.c index 8363259d4c..158fee4445 100644 --- a/src/bhyve/bhyve_driver.c +++ b/src/bhyve/bhyve_driver.c @@ -681,7 +681,8 @@ bhyveConnectDomainXMLToNative(virConnectPtr conn, g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; bhyveConnPtr privconn = conn->privateData; virDomainDefPtr def = NULL; - virCommandPtr cmd = NULL, loadcmd = NULL; + virCommandPtr cmd = NULL; + virCommandPtr loadcmd = NULL; char *ret = NULL; virCheckFlags(0, NULL); diff --git a/src/conf/domain_addr.c b/src/conf/domain_addr.c index fa08f5381d..8b927689f8 100644 --- a/src/conf/domain_addr.c +++ b/src/conf/domain_addr.c @@ -2082,7 +2082,8 @@ int virDomainUSBAddressSetAddHub(virDomainUSBAddressSetPtr addrs, virDomainHubDefPtr hub) { - virDomainUSBAddressHubPtr targetHub = NULL, newHub = NULL; + virDomainUSBAddressHubPtr targetHub = NULL; + virDomainUSBAddressHubPtr newHub = NULL; int ret = -1; int targetPort; g_autofree char *portStr = NULL; diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 08e09362ee..47756ff0be 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -17621,7 +17621,8 @@ virDomainChrDefPtr virDomainChrRemove(virDomainDefPtr vmdef, virDomainChrDefPtr chr) { - virDomainChrDefPtr ret = NULL, **arrPtr = NULL; + virDomainChrDefPtr ret = NULL; + virDomainChrDefPtr **arrPtr = NULL; size_t i, *cntPtr = NULL; if (virDomainChrGetDomainPtrsInternal(vmdef, chr->deviceType, diff --git a/src/conf/numa_conf.c b/src/conf/numa_conf.c index 338d779e90..64b93fd7d1 100644 --- a/src/conf/numa_conf.c +++ b/src/conf/numa_conf.c @@ -780,7 +780,8 @@ virDomainNumaDefNodeDistanceParseXML(virDomainNumaPtr def, } for (i = 0; i < sibling; i++) { - virDomainNumaDistancePtr ldist, rdist; + virDomainNumaDistancePtr ldist; + virDomainNumaDistancePtr rdist; unsigned int sibling_id, sibling_value; /* siblings are in order of parsing or explicitly numbered */ diff --git a/src/conf/nwfilter_params.c b/src/conf/nwfilter_params.c index 1be492759a..5fa5d4fedb 100644 --- a/src/conf/nwfilter_params.c +++ b/src/conf/nwfilter_params.c @@ -402,7 +402,8 @@ virNWFilterVarCombIterEntryAreUniqueEntries(virNWFilterVarCombIterEntryPtr cie, GHashTable *hash) { size_t i, j; - virNWFilterVarValuePtr varValue, tmp; + virNWFilterVarValuePtr varValue; + virNWFilterVarValuePtr tmp; const char *value; varValue = virHashLookup(hash, cie->varNames[0]); diff --git a/src/conf/virnetworkobj.c b/src/conf/virnetworkobj.c index 1e167c7874..6ff6c63218 100644 --- a/src/conf/virnetworkobj.c +++ b/src/conf/virnetworkobj.c @@ -1254,7 +1254,8 @@ virNetworkObjUpdate(virNetworkObjPtr obj, unsigned int flags) /* virNetworkUpdateFlags */ { int ret = -1; - virNetworkDefPtr livedef = NULL, configdef = NULL; + virNetworkDefPtr livedef = NULL; + virNetworkDefPtr configdef = NULL; /* normalize config data, and check for common invalid requests. */ if (virNetworkObjConfigChangeSetup(obj, xmlopt, flags) < 0) diff --git a/src/hypervisor/domain_driver.c b/src/hypervisor/domain_driver.c index c08b7d46c5..ef5803ec2a 100644 --- a/src/hypervisor/domain_driver.c +++ b/src/hypervisor/domain_driver.c @@ -128,7 +128,8 @@ virDomainDriverMergeBlkioDevice(virBlkioDevicePtr *dest_array, const char *type) { size_t i, j; - virBlkioDevicePtr dest, src; + virBlkioDevicePtr dest; + virBlkioDevicePtr src; for (i = 0; i < src_size; i++) { bool found = false; diff --git a/src/hypervisor/virhostdev.c b/src/hypervisor/virhostdev.c index 01c56f51bc..a3ec63138e 100644 --- a/src/hypervisor/virhostdev.c +++ b/src/hypervisor/virhostdev.c @@ -832,7 +832,8 @@ virHostdevPreparePCIDevicesImpl(virHostdevManagerPtr mgr, /* Step 6: Set driver and domain information */ for (i = 0; i < virPCIDeviceListCount(pcidevs); i++) { - virPCIDevicePtr pci, actual; + virPCIDevicePtr pci; + virPCIDevicePtr actual; /* We need to look up the actual device and set the information * there because 'pci' only contain address information and will diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c index c93dbeeabf..e3d769b5d9 100644 --- a/src/libxl/libxl_driver.c +++ b/src/libxl/libxl_driver.c @@ -3961,9 +3961,12 @@ libxlDomainDetachDeviceLive(libxlDriverPrivatePtr driver, static int libxlDomainDetachDeviceConfig(virDomainDefPtr vmdef, virDomainDeviceDefPtr dev) { - virDomainDiskDefPtr disk, detach; - virDomainHostdevDefPtr hostdev, det_hostdev; - virDomainControllerDefPtr cont, det_cont; + virDomainDiskDefPtr disk; + virDomainDiskDefPtr detach; + virDomainHostdevDefPtr hostdev; + virDomainHostdevDefPtr det_hostdev; + virDomainControllerDefPtr cont; + virDomainControllerDefPtr det_cont; virDomainNetDefPtr net; int idx; diff --git a/src/libxl/xen_common.c b/src/libxl/xen_common.c index c56815d7fc..baa6edf61c 100644 --- a/src/libxl/xen_common.c +++ b/src/libxl/xen_common.c @@ -1611,7 +1611,8 @@ static int xenFormatSerial(virConfValuePtr list, virDomainChrDefPtr serial) { g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; - virConfValuePtr val, tmp; + virConfValuePtr val; + virConfValuePtr tmp; int ret; if (serial) { @@ -1666,7 +1667,8 @@ xenFormatNet(virConnectPtr conn, const char *vif_typename) { g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; - virConfValuePtr val, tmp; + virConfValuePtr val; + virConfValuePtr tmp; char macaddr[VIR_MAC_STRING_BUFLEN]; virBufferAsprintf(&buf, "mac=%s", virMacAddrFormat(&net->mac, macaddr)); @@ -1820,7 +1822,8 @@ xenFormatPCI(virConfPtr conf, virDomainDefPtr def) for (i = 0; i < def->nhostdevs; i++) { if (def->hostdevs[i]->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS && def->hostdevs[i]->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) { - virConfValuePtr val, tmp; + virConfValuePtr val; + virConfValuePtr tmp; char *buf; const char *permissive_str = NULL; @@ -2294,7 +2297,8 @@ xenFormatVfb(virConfPtr conf, virDomainDefPtr def) return -1; } } else { - virConfValuePtr vfb, disp; + virConfValuePtr vfb; + virConfValuePtr disp; char *vfbstr = NULL; g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; diff --git a/src/libxl/xen_xl.c b/src/libxl/xen_xl.c index 29c145851e..a043f298b4 100644 --- a/src/libxl/xen_xl.c +++ b/src/libxl/xen_xl.c @@ -1395,7 +1395,8 @@ static int xenFormatXLVnode(virConfValuePtr list, virBufferPtr buf) { - virConfValuePtr numaPnode, tmp; + virConfValuePtr numaPnode; + virConfValuePtr tmp; numaPnode = g_new0(virConfValue, 1); @@ -1423,7 +1424,8 @@ xenFormatXLVnuma(virConfValuePtr list, int ret = -1; size_t i; g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; - virConfValuePtr numaVnode, tmp; + virConfValuePtr numaVnode; + virConfValuePtr tmp; virBitmapPtr cpumask = virDomainNumaGetNodeCpumask(numa, node); size_t nodeSize = virDomainNumaGetNodeMemorySize(numa, node) / 1024; g_autofree char *nodeVcpus = NULL; @@ -1638,7 +1640,8 @@ static int xenFormatXLDisk(virConfValuePtr list, virDomainDiskDefPtr disk) { g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; - virConfValuePtr val, tmp; + virConfValuePtr val; + virConfValuePtr tmp; int format = virDomainDiskGetFormat(disk); const char *driver = virDomainDiskGetDriver(disk); g_autofree char *target = NULL; @@ -1858,7 +1861,8 @@ xenFormatXLInputDevs(virConfPtr conf, virDomainDefPtr def) { size_t i; const char *devtype; - virConfValuePtr usbdevices = NULL, lastdev; + virConfValuePtr usbdevices = NULL; + virConfValuePtr lastdev; if (def->os.type == VIR_DOMAIN_OSTYPE_HVM) { usbdevices = g_new0(virConfValue, 1); @@ -1941,7 +1945,8 @@ xenFormatXLUSBController(virConfPtr conf, for (i = 0; i < def->ncontrollers; i++) { if (def->controllers[i]->type == VIR_DOMAIN_CONTROLLER_TYPE_USB) { - virConfValuePtr val, tmp; + virConfValuePtr val; + virConfValuePtr tmp; g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; if (def->controllers[i]->model != -1) { @@ -2019,7 +2024,8 @@ xenFormatXLUSB(virConfPtr conf, for (i = 0; i < def->nhostdevs; i++) { if (def->hostdevs[i]->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS && def->hostdevs[i]->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_USB) { - virConfValuePtr val, tmp; + virConfValuePtr val; + virConfValuePtr tmp; char *buf; buf = g_strdup_printf("hostbus=%x,hostaddr=%x", @@ -2055,7 +2061,8 @@ xenFormatXLChannel(virConfValuePtr list, virDomainChrDefPtr channel) { g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; int sourceType = channel->source->type; - virConfValuePtr val, tmp; + virConfValuePtr val; + virConfValuePtr tmp; /* connection */ virBufferAddLit(&buf, "connection="); @@ -2145,7 +2152,8 @@ xenFormatXLDomainNamespaceData(virConfPtr conf, virDomainDefPtr def) args->list = NULL; for (i = 0; i < nsdata->num_args; i++) { - virConfValuePtr val, tmp; + virConfValuePtr val; + virConfValuePtr tmp; val = g_new0(virConfValue, 1); diff --git a/src/libxl/xen_xm.c b/src/libxl/xen_xm.c index cc24317a76..a2c1682fcf 100644 --- a/src/libxl/xen_xm.c +++ b/src/libxl/xen_xm.c @@ -275,7 +275,8 @@ xenFormatXMDisk(virConfValuePtr list, virDomainDiskDefPtr disk) { g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; - virConfValuePtr val, tmp; + virConfValuePtr val; + virConfValuePtr tmp; const char *src = virDomainDiskGetSource(disk); int format = virDomainDiskGetFormat(disk); const char *driver = virDomainDiskGetDriver(disk); diff --git a/src/lxc/lxc_controller.c b/src/lxc/lxc_controller.c index f633a24b16..9b7cd6408d 100644 --- a/src/lxc/lxc_controller.c +++ b/src/lxc/lxc_controller.c @@ -735,7 +735,8 @@ static int virLXCControllerSetupLoopDevices(virLXCControllerPtr ctrl) static int virLXCControllerSetupCpuAffinity(virLXCControllerPtr ctrl) { int hostcpus, maxcpu = CPU_SETSIZE; - virBitmapPtr cpumap, cpumapToSet; + virBitmapPtr cpumap; + virBitmapPtr cpumapToSet; VIR_DEBUG("Setting CPU affinity"); diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c index 51a1d01ec9..8e0ec82e0b 100644 --- a/src/lxc/lxc_driver.c +++ b/src/lxc/lxc_driver.c @@ -3129,9 +3129,11 @@ lxcDomainDetachDeviceConfig(virDomainDefPtr vmdef, virDomainDeviceDefPtr dev) { int ret = -1; - virDomainDiskDefPtr disk, det_disk; + virDomainDiskDefPtr disk; + virDomainDiskDefPtr det_disk; virDomainNetDefPtr net; - virDomainHostdevDefPtr hostdev, det_hostdev; + virDomainHostdevDefPtr hostdev; + virDomainHostdevDefPtr det_hostdev; int idx; switch (dev->type) { @@ -4294,7 +4296,8 @@ static int lxcDomainAttachDeviceFlags(virDomainPtr dom, virLXCDriverPtr driver = dom->conn->privateData; virDomainObjPtr vm = NULL; virDomainDefPtr vmdef = NULL; - virDomainDeviceDefPtr dev = NULL, dev_copy = NULL; + virDomainDeviceDefPtr dev = NULL; + virDomainDeviceDefPtr dev_copy = NULL; int ret = -1; virLXCDriverConfigPtr cfg = virLXCDriverGetConfig(driver); @@ -4468,7 +4471,8 @@ static int lxcDomainDetachDeviceFlags(virDomainPtr dom, virCapsPtr caps = NULL; virDomainObjPtr vm = NULL; virDomainDefPtr vmdef = NULL; - virDomainDeviceDefPtr dev = NULL, dev_copy = NULL; + virDomainDeviceDefPtr dev = NULL; + virDomainDeviceDefPtr dev_copy = NULL; int ret = -1; virLXCDriverConfigPtr cfg = virLXCDriverGetConfig(driver); diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index 32872d7ec1..3c7a49b115 100644 --- a/src/network/bridge_driver.c +++ b/src/network/bridge_driver.c @@ -1065,7 +1065,10 @@ networkDnsmasqConfContents(virNetworkObjPtr obj, size_t i; virNetworkDNSDefPtr dns = &def->dns; bool wantDNS = dns->enable != VIR_TRISTATE_BOOL_NO; - virNetworkIPDefPtr tmpipdef, ipdef, ipv4def, ipv6def; + virNetworkIPDefPtr tmpipdef; + virNetworkIPDefPtr ipdef; + virNetworkIPDefPtr ipv4def; + virNetworkIPDefPtr ipv6def; bool ipv6SLAAC; *configstr = NULL; @@ -1682,7 +1685,9 @@ networkRefreshDhcpDaemon(virNetworkDriverStatePtr driver, virNetworkDefPtr def = virNetworkObjGetDef(obj); size_t i; pid_t dnsmasqPid; - virNetworkIPDefPtr ipdef, ipv4def, ipv6def; + virNetworkIPDefPtr ipdef; + virNetworkIPDefPtr ipv4def; + virNetworkIPDefPtr ipv6def; g_autoptr(dnsmasqContext) dctx = NULL; /* if no IP addresses specified, nothing to do */ diff --git a/src/nwfilter/nwfilter_ebiptables_driver.c b/src/nwfilter/nwfilter_ebiptables_driver.c index 813ab604ae..f4afbf9ba2 100644 --- a/src/nwfilter/nwfilter_ebiptables_driver.c +++ b/src/nwfilter/nwfilter_ebiptables_driver.c @@ -3199,7 +3199,8 @@ iptablesRuleInstCommand(virFirewallPtr fw, const char *ifname, virNWFilterRuleInstPtr rule) { - virNWFilterVarCombIterPtr vciter, tmp; + virNWFilterVarCombIterPtr vciter; + virNWFilterVarCombIterPtr tmp; int ret = -1; /* rule->vars holds all the variables names that this rule will access. @@ -3234,7 +3235,8 @@ ebtablesRuleInstCommand(virFirewallPtr fw, const char *ifname, virNWFilterRuleInstPtr rule) { - virNWFilterVarCombIterPtr vciter, tmp; + virNWFilterVarCombIterPtr vciter; + virNWFilterVarCombIterPtr tmp; int ret = -1; /* rule->vars holds all the variables names that this rule will access. diff --git a/src/openvz/openvz_driver.c b/src/openvz/openvz_driver.c index 96535a8216..e898af85ab 100644 --- a/src/openvz/openvz_driver.c +++ b/src/openvz/openvz_driver.c @@ -1817,7 +1817,8 @@ openvzUpdateDevice(virDomainDefPtr vmdef, virDomainDeviceDefPtr dev, bool persist) { - virDomainFSDefPtr fs, cur; + virDomainFSDefPtr fs; + virDomainFSDefPtr cur; int pos; if (dev->type == VIR_DOMAIN_DEVICE_FS) { diff --git a/src/qemu/qemu_agent.c b/src/qemu/qemu_agent.c index 8b880d0d15..01ba2c78c1 100644 --- a/src/qemu/qemu_agent.c +++ b/src/qemu/qemu_agent.c @@ -1255,7 +1255,8 @@ int qemuAgentFSFreeze(qemuAgentPtr agent, const char **mountpoints, unsigned int nmountpoints) { int ret = -1; - virJSONValuePtr cmd, arg = NULL; + virJSONValuePtr cmd; + virJSONValuePtr arg = NULL; virJSONValuePtr reply = NULL; if (mountpoints && nmountpoints) { diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index df332ad870..ed2a1481d4 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -6172,7 +6172,8 @@ qemuDomainDefFormatBufInternal(virQEMUDriverPtr driver, if ((flags & VIR_DOMAIN_XML_MIGRATABLE)) { size_t i; int toremove = 0; - virDomainControllerDefPtr usb = NULL, pci = NULL; + virDomainControllerDefPtr usb = NULL; + virDomainControllerDefPtr pci = NULL; /* If only the default USB controller is present, we can remove it * and make the XML compatible with older versions of libvirt which diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index c7323e1fa5..b7c89a826a 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -7431,12 +7431,16 @@ qemuDomainDetachDeviceConfig(virDomainDefPtr vmdef, unsigned int parse_flags, virDomainXMLOptionPtr xmlopt) { - virDomainDiskDefPtr disk, det_disk; + virDomainDiskDefPtr disk; + virDomainDiskDefPtr det_disk; virDomainNetDefPtr net; virDomainSoundDefPtr sound; - virDomainHostdevDefPtr hostdev, det_hostdev; - virDomainLeaseDefPtr lease, det_lease; - virDomainControllerDefPtr cont, det_cont; + virDomainHostdevDefPtr hostdev; + virDomainHostdevDefPtr det_hostdev; + virDomainLeaseDefPtr lease; + virDomainLeaseDefPtr det_lease; + virDomainControllerDefPtr cont; + virDomainControllerDefPtr det_cont; virDomainChrDefPtr chr; virDomainFSDefPtr fs; virDomainMemoryDefPtr mem; @@ -10240,7 +10244,8 @@ qemuDomainSetInterfaceParameters(virDomainPtr dom, virDomainDefPtr def; virDomainDefPtr persistentDef; int ret = -1; - virDomainNetDefPtr net = NULL, persistentNet = NULL; + virDomainNetDefPtr net = NULL; + virDomainNetDefPtr persistentNet = NULL; g_autoptr(virNetDevBandwidth) bandwidth = NULL; g_autoptr(virNetDevBandwidth) newBandwidth = NULL; g_autoptr(virQEMUDriverConfig) cfg = NULL; diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index f706ef65fc..ad62e24cfc 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -4006,7 +4006,8 @@ static int qemuMonitorJSONQueryFdsetsParse(virJSONValuePtr msg, qemuMonitorFdsetsPtr *fdsets) { - virJSONValuePtr returnArray, entry; + virJSONValuePtr returnArray; + virJSONValuePtr entry; size_t i; g_autoptr(qemuMonitorFdsets) sets = g_new0(qemuMonitorFdsets, 1); int ninfo; @@ -4213,7 +4214,10 @@ qemuMonitorJSONQueryRxFilterParse(virJSONValuePtr msg, { int ret = -1; const char *tmp; - virJSONValuePtr returnArray, entry, table, element; + virJSONValuePtr returnArray; + virJSONValuePtr entry; + virJSONValuePtr table; + virJSONValuePtr element; size_t nTable; size_t i; virNetDevRxFilterPtr fil = virNetDevRxFilterNew(); @@ -5015,7 +5019,8 @@ int qemuMonitorJSONScreendump(qemuMonitorPtr mon, const char *file) { int ret = -1; - virJSONValuePtr cmd, reply = NULL; + virJSONValuePtr cmd; + virJSONValuePtr reply = NULL; cmd = qemuMonitorJSONMakeCommand("screendump", "s:filename", file, @@ -5386,7 +5391,8 @@ int qemuMonitorJSONOpenGraphics(qemuMonitorPtr mon, bool skipauth) { int ret = -1; - virJSONValuePtr cmd, reply = NULL; + virJSONValuePtr cmd; + virJSONValuePtr reply = NULL; cmd = qemuMonitorJSONMakeCommand("add_client", "s:protocol", protocol, diff --git a/src/rpc/virnetserverclient.c b/src/rpc/virnetserverclient.c index 2bb3443287..6b9c1bbc64 100644 --- a/src/rpc/virnetserverclient.c +++ b/src/rpc/virnetserverclient.c @@ -263,7 +263,8 @@ int virNetServerClientAddFilter(virNetServerClientPtr client, void virNetServerClientRemoveFilter(virNetServerClientPtr client, int filterID) { - virNetServerClientFilterPtr tmp, prev; + virNetServerClientFilterPtr tmp; + virNetServerClientFilterPtr prev; virObjectLock(client); diff --git a/src/security/security_stack.c b/src/security/security_stack.c index 3bfcb1e2f7..2fd7d2e825 100644 --- a/src/security/security_stack.c +++ b/src/security/security_stack.c @@ -90,7 +90,8 @@ static int virSecurityStackClose(virSecurityManagerPtr mgr) { virSecurityStackDataPtr priv = virSecurityManagerGetPrivateData(mgr); - virSecurityStackItemPtr next, item = priv->itemsHead; + virSecurityStackItemPtr item = priv->itemsHead; + virSecurityStackItemPtr next; while (item) { next = item->next; diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 2c1b4cb525..01b3e7bc82 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -7338,7 +7338,8 @@ testNodeDeviceMockCreateVport(testDriverPtr driver, { virNodeDeviceDefPtr def = NULL; virNodeDevCapsDefPtr caps; - virNodeDeviceObjPtr obj = NULL, objcopy = NULL; + virNodeDeviceObjPtr obj = NULL; + virNodeDeviceObjPtr objcopy = NULL; virNodeDeviceDefPtr objdef; virObjectEventPtr event = NULL; g_autofree char *xml = NULL; diff --git a/src/util/virconf.c b/src/util/virconf.c index 16107bce96..25a3bad50d 100644 --- a/src/util/virconf.c +++ b/src/util/virconf.c @@ -207,7 +207,8 @@ virConfCreate(const char *filename, unsigned int flags) static virConfEntryPtr virConfAddEntry(virConfPtr conf, char *name, virConfValuePtr value, char *comm) { - virConfEntryPtr ret, prev; + virConfEntryPtr ret; + virConfEntryPtr prev; if (conf == NULL) return NULL; @@ -441,7 +442,10 @@ virConfParseString(virConfParserCtxtPtr ctxt) static virConfValuePtr virConfParseValue(virConfParserCtxtPtr ctxt) { - virConfValuePtr ret, lst = NULL, tmp, prev; + virConfValuePtr ret; + virConfValuePtr lst = NULL; + virConfValuePtr tmp; + virConfValuePtr prev; virConfType type = VIR_CONF_NONE; char *str = NULL; long long l = 0; @@ -1332,7 +1336,8 @@ virConfSetValue(virConfPtr conf, const char *setting, virConfValuePtr value) { - virConfEntryPtr cur, prev = NULL; + virConfEntryPtr cur; + virConfEntryPtr prev = NULL; if (value && value->type == VIR_CONF_STRING && value->str == NULL) { virConfFreeValue(value); diff --git a/src/util/virnetdevbandwidth.c b/src/util/virnetdevbandwidth.c index 77a97176b0..f39635b35f 100644 --- a/src/util/virnetdevbandwidth.c +++ b/src/util/virnetdevbandwidth.c @@ -193,7 +193,8 @@ virNetDevBandwidthSet(const char *ifname, bool swapped) { int ret = -1; - virNetDevBandwidthRatePtr rx = NULL, tx = NULL; /* From domain POV */ + virNetDevBandwidthRatePtr rx = NULL; /* From domain POV */ + virNetDevBandwidthRatePtr tx = NULL; /* From domain POV */ virCommandPtr cmd = NULL; char *average = NULL; char *peak = NULL; diff --git a/src/util/virnetdevbandwidth.h b/src/util/virnetdevbandwidth.h index fff83222a9..91de9323ba 100644 --- a/src/util/virnetdevbandwidth.h +++ b/src/util/virnetdevbandwidth.h @@ -33,7 +33,8 @@ struct _virNetDevBandwidthRate { typedef struct _virNetDevBandwidth virNetDevBandwidth; typedef virNetDevBandwidth *virNetDevBandwidthPtr; struct _virNetDevBandwidth { - virNetDevBandwidthRatePtr in, out; + virNetDevBandwidthRatePtr in; + virNetDevBandwidthRatePtr out; }; void virNetDevBandwidthFree(virNetDevBandwidthPtr def); diff --git a/src/vz/vz_driver.c b/src/vz/vz_driver.c index 520ef871e9..f3ad22c270 100644 --- a/src/vz/vz_driver.c +++ b/src/vz/vz_driver.c @@ -408,7 +408,8 @@ vzConnectOpen(virConnectPtr conn, static int vzConnectClose(virConnectPtr conn) { - vzConnPtr curr, *prev = &vz_conn_list; + vzConnPtr curr; + vzConnPtr *prev = &vz_conn_list; vzConnPtr privconn = conn->privateData; if (!privconn) diff --git a/src/vz/vz_sdk.c b/src/vz/vz_sdk.c index d8548e5a3c..ea21181c25 100644 --- a/src/vz/vz_sdk.c +++ b/src/vz/vz_sdk.c @@ -889,7 +889,8 @@ prlsdkParseNetAddress(char *addr) char *maskstr = NULL; int nbits; virSocketAddr mask; - virNetDevIPAddrPtr ip = NULL, ret = NULL; + virNetDevIPAddrPtr ip = NULL; + virNetDevIPAddrPtr ret = NULL; if (!(maskstr = strchr(addr, '/'))) goto cleanup; @@ -3141,12 +3142,14 @@ static int prlsdkConfigureGateways(PRL_HANDLE sdknet, virDomainNetDefPtr net) { int ret = -1; size_t i; - virNetDevIPRoutePtr route4 = NULL, route6 = NULL; + virNetDevIPRoutePtr route4 = NULL; + virNetDevIPRoutePtr route6 = NULL; char *gw4 = NULL, *gw6 = NULL; PRL_RESULT pret; for (i = 0; i < net->guestIP.nroutes; i++) { - virSocketAddrPtr addrdst, gateway; + virSocketAddrPtr addrdst; + virSocketAddrPtr gateway; virSocketAddr zero; addrdst = virNetDevIPRouteGetAddress(net->guestIP.routes[i]); diff --git a/tests/virnetdaemontest.c b/tests/virnetdaemontest.c index fb40fe9b80..c77c21611f 100644 --- a/tests/virnetdaemontest.c +++ b/tests/virnetdaemontest.c @@ -84,9 +84,12 @@ static virNetServerPtr testCreateServer(const char *server_name, const char *host, int family) { virNetServerPtr srv = NULL; - virNetServerServicePtr svc1 = NULL, svc2 = NULL; - virNetServerClientPtr cln1 = NULL, cln2 = NULL; - virNetSocketPtr sk1 = NULL, sk2 = NULL; + virNetServerServicePtr svc1 = NULL; + virNetServerServicePtr svc2 = NULL; + virNetServerClientPtr cln1 = NULL; + virNetServerClientPtr cln2 = NULL; + virNetSocketPtr sk1 = NULL; + virNetSocketPtr sk2 = NULL; int fdclient[2]; if (socketpair(PF_UNIX, SOCK_STREAM, 0, fdclient) < 0) { @@ -269,7 +272,8 @@ static int testExecRestart(const void *opaque) const struct testExecRestartData *data = opaque; char *infile = NULL, *outfile = NULL; char *injsonstr = NULL, *outjsonstr = NULL; - virJSONValuePtr injson = NULL, outjson = NULL; + virJSONValuePtr injson = NULL; + virJSONValuePtr outjson = NULL; int fdclient[2] = { -1, -1 }, fdserver[2] = { -1, -1 }; if (socketpair(PF_UNIX, SOCK_STREAM, 0, fdclient) < 0) { diff --git a/tests/virpcitest.c b/tests/virpcitest.c index 6a4bd5518d..b6ca686c5c 100644 --- a/tests/virpcitest.c +++ b/tests/virpcitest.c @@ -93,7 +93,8 @@ testVirPCIDeviceDetach(const void *opaque G_GNUC_UNUSED) int ret = -1; virPCIDevicePtr dev[] = {NULL, NULL, NULL}; size_t i, nDev = G_N_ELEMENTS(dev); - virPCIDeviceListPtr activeDevs = NULL, inactiveDevs = NULL; + virPCIDeviceListPtr activeDevs = NULL; + virPCIDeviceListPtr inactiveDevs = NULL; int count; if (!(activeDevs = virPCIDeviceListNew()) || @@ -136,7 +137,8 @@ testVirPCIDeviceReset(const void *opaque G_GNUC_UNUSED) int ret = -1; virPCIDevicePtr dev[] = {NULL, NULL, NULL}; size_t i, nDev = G_N_ELEMENTS(dev); - virPCIDeviceListPtr activeDevs = NULL, inactiveDevs = NULL; + virPCIDeviceListPtr activeDevs = NULL; + virPCIDeviceListPtr inactiveDevs = NULL; int count; if (!(activeDevs = virPCIDeviceListNew()) || @@ -173,7 +175,8 @@ testVirPCIDeviceReattach(const void *opaque G_GNUC_UNUSED) int ret = -1; virPCIDevicePtr dev[] = {NULL, NULL, NULL}; size_t i, nDev = G_N_ELEMENTS(dev); - virPCIDeviceListPtr activeDevs = NULL, inactiveDevs = NULL; + virPCIDeviceListPtr activeDevs = NULL; + virPCIDeviceListPtr inactiveDevs = NULL; int count; if (!(activeDevs = virPCIDeviceListNew()) || -- 2.26.2

On a Thursday in 2021, Michal Privoznik wrote:
In short, virXXXPtr type is going away. With bing bang. And to
s/bing/altavista/
help us rewrite the code with a sed script, it's better if each variable is declared on its own line.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/bhyve/bhyve_command.c | 5 ++++- src/bhyve/bhyve_driver.c | 3 ++- src/conf/domain_addr.c | 3 ++- src/conf/domain_conf.c | 3 ++- src/conf/numa_conf.c | 3 ++- src/conf/nwfilter_params.c | 3 ++- src/conf/virnetworkobj.c | 3 ++-
[...]
src/vz/vz_sdk.c | 9 ++++++--- tests/virnetdaemontest.c | 12 ++++++++---- tests/virpcitest.c | 9 ++++++--- 32 files changed, 139 insertions(+), 65 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Historically, we declared pointer type to our types: typedef struct _virXXX virXXX; typedef virXXX *virXXXPtr; But usefulness of such declaration is questionable, at best. Unfortunately, we can't drop every such declaration - we have to carry some over, because they are part of public API (e.g. virDomainPtr). But for internal types - we can do drop them and use what every other C project uses 'virXXX *'. This change was generated by a very ugly shell script that generated sed script which was then called over each file in the repository. For the shell script refer to the cover letter: $URL Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- docs/advanced-tests.rst | 2 +- docs/api_extension.html.in | 2 +- docs/coding-style.rst | 2 +- docs/internals/command.html.in | 12 +- docs/internals/rpc.html.in | 32 +- scripts/esx_vi_generator.py | 6 +- scripts/hyperv_wmi_generator.py | 6 +- src/access/viraccessdriver.h | 52 +- src/access/viraccessdrivernop.c | 46 +- src/access/viraccessdriverpolkit.c | 52 +- src/access/viraccessdriverstack.c | 82 +- src/access/viraccessdriverstack.h | 4 +- src/access/viraccessmanager.c | 78 +- src/access/viraccessmanager.h | 57 +- src/admin/admin_remote.c | 56 +- src/admin/admin_server.c | 34 +- src/admin/admin_server.h | 26 +- src/admin/admin_server_dispatch.c | 129 +- src/admin/admin_server_dispatch.h | 8 +- src/admin/libvirt-admin.c | 8 +- src/bhyve/bhyve_capabilities.c | 26 +- src/bhyve/bhyve_capabilities.h | 8 +- src/bhyve/bhyve_command.c | 124 +- src/bhyve/bhyve_command.h | 14 +- src/bhyve/bhyve_conf.c | 18 +- src/bhyve/bhyve_conf.h | 9 +- src/bhyve/bhyve_device.c | 30 +- src/bhyve/bhyve_device.h | 6 +- src/bhyve/bhyve_domain.c | 36 +- src/bhyve/bhyve_domain.h | 7 +- src/bhyve/bhyve_driver.c | 162 +- src/bhyve/bhyve_driver.h | 6 +- src/bhyve/bhyve_monitor.c | 34 +- src/bhyve/bhyve_monitor.h | 7 +- src/bhyve/bhyve_parse_command.c | 40 +- src/bhyve/bhyve_parse_command.h | 4 +- src/bhyve/bhyve_process.c | 52 +- src/bhyve/bhyve_process.h | 16 +- src/bhyve/bhyve_utils.h | 25 +- src/conf/backup_conf.c | 54 +- src/conf/backup_conf.h | 24 +- src/conf/capabilities.c | 240 +- src/conf/capabilities.h | 116 +- src/conf/checkpoint_conf.c | 80 +- src/conf/checkpoint_conf.h | 23 +- src/conf/cpu_conf.c | 78 +- src/conf/cpu_conf.h | 71 +- src/conf/device_conf.c | 36 +- src/conf/device_conf.h | 42 +- src/conf/domain_addr.c | 316 +-- src/conf/domain_addr.h | 128 +- src/conf/domain_audit.c | 96 +- src/conf/domain_audit.h | 76 +- src/conf/domain_capabilities.c | 70 +- src/conf/domain_capabilities.h | 39 +- src/conf/domain_conf.c | 2509 ++++++++--------- src/conf/domain_conf.h | 967 ++++--- src/conf/domain_event.c | 552 ++-- src/conf/domain_event.h | 178 +- src/conf/domain_nwfilter.c | 18 +- src/conf/domain_nwfilter.h | 6 +- src/conf/domain_validate.c | 64 +- src/conf/domain_validate.h | 10 +- src/conf/interface_conf.c | 76 +- src/conf/interface_conf.h | 18 +- src/conf/moment_conf.c | 8 +- src/conf/moment_conf.h | 8 +- src/conf/netdev_bandwidth_conf.c | 12 +- src/conf/netdev_bandwidth_conf.h | 6 +- src/conf/netdev_vlan_conf.c | 4 +- src/conf/netdev_vlan_conf.h | 4 +- src/conf/netdev_vport_profile_conf.c | 6 +- src/conf/netdev_vport_profile_conf.h | 4 +- src/conf/network_conf.c | 198 +- src/conf/network_conf.h | 105 +- src/conf/network_event.c | 26 +- src/conf/network_event.h | 6 +- src/conf/networkcommon_conf.c | 6 +- src/conf/networkcommon_conf.h | 6 +- src/conf/node_device_conf.c | 214 +- src/conf/node_device_conf.h | 70 +- src/conf/node_device_event.c | 37 +- src/conf/node_device_event.h | 8 +- src/conf/node_device_util.c | 4 +- src/conf/node_device_util.h | 4 +- src/conf/numa_conf.c | 162 +- src/conf/numa_conf.h | 93 +- src/conf/nwfilter_conf.c | 142 +- src/conf/nwfilter_conf.h | 52 +- src/conf/nwfilter_ipaddrmap.c | 10 +- src/conf/nwfilter_ipaddrmap.h | 2 +- src/conf/nwfilter_params.c | 78 +- src/conf/nwfilter_params.h | 42 +- src/conf/object_event.c | 134 +- src/conf/object_event.h | 18 +- src/conf/object_event_private.h | 18 +- src/conf/secret_conf.c | 16 +- src/conf/secret_conf.h | 7 +- src/conf/secret_event.c | 37 +- src/conf/secret_event.h | 8 +- src/conf/snapshot_conf.c | 98 +- src/conf/snapshot_conf.h | 41 +- src/conf/snapshot_conf_priv.h | 4 +- src/conf/storage_adapter_conf.c | 30 +- src/conf/storage_adapter_conf.h | 13 +- src/conf/storage_capabilities.c | 14 +- src/conf/storage_capabilities.h | 7 +- src/conf/storage_conf.c | 143 +- src/conf/storage_conf.h | 82 +- src/conf/storage_encryption_conf.c | 44 +- src/conf/storage_encryption_conf.h | 15 +- src/conf/storage_event.c | 37 +- src/conf/storage_event.h | 8 +- src/conf/storage_source_conf.c | 152 +- src/conf/storage_source_conf.h | 125 +- src/conf/virchrdev.c | 19 +- src/conf/virchrdev.h | 7 +- src/conf/virconftypes.h | 114 - src/conf/virdomaincheckpointobjlist.c | 58 +- src/conf/virdomaincheckpointobjlist.h | 54 +- src/conf/virdomainmomentobjlist.c | 110 +- src/conf/virdomainmomentobjlist.h | 66 +- src/conf/virdomainobjlist.c | 144 +- src/conf/virdomainobjlist.h | 55 +- src/conf/virdomainsnapshotobjlist.c | 62 +- src/conf/virdomainsnapshotobjlist.h | 54 +- src/conf/virinterfaceobj.c | 83 +- src/conf/virinterfaceobj.h | 44 +- src/conf/virnetworkobj.c | 272 +- src/conf/virnetworkobj.h | 156 +- src/conf/virnetworkportdef.c | 18 +- src/conf/virnetworkportdef.h | 15 +- src/conf/virnodedeviceobj.c | 159 +- src/conf/virnodedeviceobj.h | 57 +- src/conf/virnwfilterbindingdef.c | 26 +- src/conf/virnwfilterbindingdef.h | 16 +- src/conf/virnwfilterbindingobj.c | 40 +- src/conf/virnwfilterbindingobj.h | 23 +- src/conf/virnwfilterbindingobjlist.c | 88 +- src/conf/virnwfilterbindingobjlist.h | 27 +- src/conf/virnwfilterobj.c | 112 +- src/conf/virnwfilterobj.h | 59 +- src/conf/virsavecookie.c | 22 +- src/conf/virsavecookie.h | 25 +- src/conf/virsecretobj.c | 139 +- src/conf/virsecretobj.h | 60 +- src/conf/virstorageobj.c | 340 ++- src/conf/virstorageobj.h | 150 +- src/cpu/cpu.c | 70 +- src/cpu/cpu.h | 125 +- src/cpu/cpu_arm.c | 94 +- src/cpu/cpu_ppc64.c | 63 +- src/cpu/cpu_s390.c | 8 +- src/cpu/cpu_x86.c | 426 ++- src/cpu/cpu_x86.h | 8 +- src/cpu/cpu_x86_data.h | 3 - src/datatypes.c | 58 +- src/datatypes.h | 74 +- src/driver-hypervisor.h | 3 +- src/driver-interface.h | 1 - src/driver-network.h | 1 - src/driver-nodedev.h | 1 - src/driver-nwfilter.h | 1 - src/driver-secret.h | 1 - src/driver-state.h | 2 - src/driver-storage.h | 1 - src/driver-stream.h | 2 - src/driver.c | 2 +- src/driver.h | 32 +- src/esx/esx_driver.c | 22 +- src/esx/esx_interface_driver.c | 4 +- src/esx/esx_network_driver.c | 8 +- src/esx/esx_private.h | 4 +- src/esx/esx_storage_driver.c | 28 +- src/esx/esx_util.c | 4 +- src/esx/esx_util.h | 2 +- src/esx/esx_vi.c | 6 +- src/esx/esx_vi.h | 8 +- src/esx/esx_vi_types.c | 12 +- src/esx/esx_vi_types.h | 26 +- src/hyperv/hyperv_driver.c | 74 +- src/hyperv/hyperv_private.h | 4 +- src/hyperv/hyperv_util.c | 4 +- src/hyperv/hyperv_util.h | 2 +- src/hyperv/hyperv_wmi.c | 66 +- src/hyperv/hyperv_wmi.h | 49 +- src/hyperv/hyperv_wmi_classes.h | 4 +- src/hypervisor/domain_cgroup.c | 20 +- src/hypervisor/domain_cgroup.h | 16 +- src/hypervisor/domain_driver.c | 30 +- src/hypervisor/domain_driver.h | 18 +- src/hypervisor/virclosecallbacks.c | 55 +- src/hypervisor/virclosecallbacks.h | 25 +- src/hypervisor/virhostdev.c | 328 +-- src/hypervisor/virhostdev.h | 121 +- src/interface/interface_backend_netcf.c | 26 +- src/interface/interface_backend_udev.c | 14 +- src/libvirt.c | 38 +- src/libxl/libxl_capabilities.c | 64 +- src/libxl/libxl_capabilities.h | 6 +- src/libxl/libxl_conf.c | 142 +- src/libxl/libxl_conf.h | 75 +- src/libxl/libxl_domain.c | 196 +- src/libxl/libxl_domain.h | 57 +- src/libxl/libxl_driver.c | 730 +++-- src/libxl/libxl_logger.c | 8 +- src/libxl/libxl_logger.h | 9 +- src/libxl/libxl_migration.c | 145 +- src/libxl/libxl_migration.h | 24 +- src/libxl/xen_common.c | 188 +- src/libxl/xen_common.h | 30 +- src/libxl/xen_xl.c | 186 +- src/libxl/xen_xl.h | 8 +- src/libxl/xen_xm.c | 44 +- src/libxl/xen_xm.h | 6 +- src/locking/domain_lock.c | 72 +- src/locking/domain_lock.h | 40 +- src/locking/lock_daemon.c | 106 +- src/locking/lock_daemon.h | 10 +- src/locking/lock_daemon_config.c | 12 +- src/locking/lock_daemon_config.h | 8 +- src/locking/lock_daemon_dispatch.c | 92 +- src/locking/lock_driver.h | 21 +- src/locking/lock_driver_lockd.c | 73 +- src/locking/lock_driver_nop.c | 16 +- src/locking/lock_driver_sanlock.c | 62 +- src/locking/lock_manager.c | 42 +- src/locking/lock_manager.h | 29 +- src/logging/log_daemon.c | 88 +- src/logging/log_daemon.h | 7 +- src/logging/log_daemon_config.c | 12 +- src/logging/log_daemon_config.h | 8 +- src/logging/log_daemon_dispatch.c | 32 +- src/logging/log_handler.c | 72 +- src/logging/log_handler.h | 17 +- src/logging/log_manager.c | 24 +- src/logging/log_manager.h | 13 +- src/lxc/lxc_cgroup.c | 74 +- src/lxc/lxc_cgroup.h | 16 +- src/lxc/lxc_conf.c | 34 +- src/lxc/lxc_conf.h | 37 +- src/lxc/lxc_container.c | 92 +- src/lxc/lxc_container.h | 6 +- src/lxc/lxc_controller.c | 226 +- src/lxc/lxc_domain.c | 56 +- src/lxc/lxc_domain.h | 18 +- src/lxc/lxc_driver.c | 594 ++-- src/lxc/lxc_fuse.c | 32 +- src/lxc/lxc_fuse.h | 10 +- src/lxc/lxc_hostdev.c | 30 +- src/lxc/lxc_hostdev.h | 20 +- src/lxc/lxc_monitor.c | 50 +- src/lxc/lxc_monitor.h | 28 +- src/lxc/lxc_native.c | 114 +- src/lxc/lxc_native.h | 6 +- src/lxc/lxc_process.c | 162 +- src/lxc/lxc_process.h | 38 +- src/network/bridge_driver.c | 573 ++-- src/network/bridge_driver.h | 6 +- src/network/bridge_driver_linux.c | 100 +- src/network/bridge_driver_nop.c | 8 +- src/network/bridge_driver_platform.h | 17 +- src/node_device/node_device_driver.c | 74 +- src/node_device/node_device_driver.h | 10 +- src/node_device/node_device_udev.c | 152 +- src/nwfilter/nwfilter_dhcpsnoop.c | 186 +- src/nwfilter/nwfilter_dhcpsnoop.h | 6 +- src/nwfilter/nwfilter_driver.c | 48 +- src/nwfilter/nwfilter_ebiptables_driver.c | 207 +- src/nwfilter/nwfilter_gentech_driver.c | 129 +- src/nwfilter/nwfilter_gentech_driver.h | 18 +- src/nwfilter/nwfilter_learnipaddr.c | 40 +- src/nwfilter/nwfilter_learnipaddr.h | 6 +- src/nwfilter/nwfilter_tech_driver.h | 8 +- src/openvz/openvz_conf.c | 30 +- src/openvz/openvz_conf.h | 12 +- src/openvz/openvz_driver.c | 142 +- src/openvz/openvz_util.c | 2 +- src/qemu/THREADS.txt | 72 +- src/qemu/qemu_agent.c | 280 +- src/qemu/qemu_agent.h | 90 +- src/qemu/qemu_alias.c | 72 +- src/qemu/qemu_alias.h | 48 +- src/qemu/qemu_backup.c | 136 +- src/qemu/qemu_backup.h | 26 +- src/qemu/qemu_block.c | 522 ++-- src/qemu/qemu_block.h | 199 +- src/qemu/qemu_blockjob.c | 334 +-- src/qemu/qemu_blockjob.h | 120 +- src/qemu/qemu_capabilities.c | 643 +++-- src/qemu/qemu_capabilities.h | 117 +- src/qemu/qemu_capspriv.h | 60 +- src/qemu/qemu_cgroup.c | 202 +- src/qemu/qemu_cgroup.h | 81 +- src/qemu/qemu_checkpoint.c | 190 +- src/qemu/qemu_checkpoint.h | 52 +- src/qemu/qemu_command.c | 1154 ++++---- src/qemu/qemu_command.h | 176 +- src/qemu/qemu_conf.c | 204 +- src/qemu/qemu_conf.h | 105 +- src/qemu/qemu_dbus.c | 38 +- src/qemu/qemu_dbus.h | 22 +- src/qemu/qemu_domain.c | 1454 +++++----- src/qemu/qemu_domain.h | 627 ++-- src/qemu/qemu_domain_address.c | 384 +-- src/qemu/qemu_domain_address.h | 44 +- src/qemu/qemu_domainjob.c | 132 +- src/qemu/qemu_domainjob.h | 100 +- src/qemu/qemu_driver.c | 2031 +++++++------ src/qemu/qemu_extdevice.c | 82 +- src/qemu/qemu_extdevice.h | 36 +- src/qemu/qemu_firmware.c | 140 +- src/qemu/qemu_firmware.h | 13 +- src/qemu/qemu_hostdev.c | 128 +- src/qemu/qemu_hostdev.h | 92 +- src/qemu/qemu_hotplug.c | 876 +++--- src/qemu/qemu_hotplug.h | 190 +- src/qemu/qemu_interface.c | 42 +- src/qemu/qemu_interface.h | 38 +- src/qemu/qemu_interop_config.c | 4 +- src/qemu/qemu_migration.c | 598 ++-- src/qemu/qemu_migration.h | 76 +- src/qemu/qemu_migration_cookie.c | 188 +- src/qemu/qemu_migration_cookie.h | 66 +- src/qemu/qemu_migration_params.c | 139 +- src/qemu/qemu_migration_params.h | 69 +- src/qemu/qemu_migration_paramspriv.h | 14 +- src/qemu/qemu_monitor.c | 600 ++-- src/qemu/qemu_monitor.h | 710 +++-- src/qemu/qemu_monitor_json.c | 1550 +++++----- src/qemu/qemu_monitor_json.h | 413 ++- src/qemu/qemu_monitor_priv.h | 2 +- src/qemu/qemu_monitor_text.c | 10 +- src/qemu/qemu_monitor_text.h | 10 +- src/qemu/qemu_namespace.c | 182 +- src/qemu/qemu_namespace.h | 66 +- src/qemu/qemu_process.c | 1198 ++++---- src/qemu/qemu_process.h | 158 +- src/qemu/qemu_processpriv.h | 6 +- src/qemu/qemu_qapi.c | 48 +- src/qemu/qemu_qapi.h | 4 +- src/qemu/qemu_saveimage.c | 78 +- src/qemu/qemu_saveimage.h | 44 +- src/qemu/qemu_security.c | 140 +- src/qemu/qemu_security.h | 110 +- src/qemu/qemu_slirp.c | 44 +- src/qemu/qemu_slirp.h | 39 +- src/qemu/qemu_snapshot.c | 303 +- src/qemu/qemu_snapshot.h | 20 +- src/qemu/qemu_tpm.c | 44 +- src/qemu/qemu_tpm.h | 24 +- src/qemu/qemu_validate.c | 162 +- src/qemu/qemu_validate.h | 2 +- src/qemu/qemu_vhost_user.c | 49 +- src/qemu/qemu_vhost_user.h | 15 +- src/qemu/qemu_vhost_user_gpu.c | 24 +- src/qemu/qemu_vhost_user_gpu.h | 24 +- src/qemu/qemu_virtiofs.c | 46 +- src/qemu/qemu_virtiofs.h | 28 +- src/remote/remote_daemon.c | 46 +- src/remote/remote_daemon.h | 25 +- src/remote/remote_daemon_config.c | 4 +- src/remote/remote_daemon_dispatch.c | 990 +++---- src/remote/remote_daemon_dispatch.h | 2 +- src/remote/remote_daemon_stream.c | 82 +- src/remote/remote_daemon_stream.h | 12 +- src/remote/remote_driver.c | 590 ++-- src/remote/remote_sockets.c | 4 +- src/remote/remote_sockets.h | 4 +- src/remote/remote_ssh_helper.c | 17 +- src/rpc/virkeepalive.c | 38 +- src/rpc/virkeepalive.h | 21 +- src/rpc/virnetclient.c | 271 +- src/rpc/virnetclient.h | 82 +- src/rpc/virnetclientprogram.c | 38 +- src/rpc/virnetclientprogram.h | 30 +- src/rpc/virnetclientstream.c | 82 +- src/rpc/virnetclientstream.h | 49 +- src/rpc/virnetdaemon.c | 114 +- src/rpc/virnetdaemon.h | 46 +- src/rpc/virnetlibsshsession.c | 84 +- src/rpc/virnetlibsshsession.h | 29 +- src/rpc/virnetmessage.c | 42 +- src/rpc/virnetmessage.h | 46 +- src/rpc/virnetsaslcontext.c | 50 +- src/rpc/virnetsaslcontext.h | 36 +- src/rpc/virnetserver.c | 202 +- src/rpc/virnetserver.h | 74 +- src/rpc/virnetserverclient.c | 232 +- src/rpc/virnetserverclient.h | 130 +- src/rpc/virnetserverprogram.c | 94 +- src/rpc/virnetserverprogram.h | 70 +- src/rpc/virnetserverservice.c | 80 +- src/rpc/virnetserverservice.h | 36 +- src/rpc/virnetsocket.c | 174 +- src/rpc/virnetsocket.h | 95 +- src/rpc/virnetsshsession.c | 85 +- src/rpc/virnetsshsession.h | 31 +- src/rpc/virnettlscontext.c | 58 +- src/rpc/virnettlscontext.h | 32 +- src/secret/secret_driver.c | 51 +- src/security/security_apparmor.c | 218 +- src/security/security_dac.c | 474 ++-- src/security/security_dac.h | 8 +- src/security/security_driver.c | 8 +- src/security/security_driver.h | 181 +- src/security/security_manager.c | 264 +- src/security/security_manager.h | 210 +- src/security/security_nop.c | 128 +- src/security/security_selinux.c | 530 ++-- src/security/security_stack.c | 346 ++- src/security/security_stack.h | 12 +- src/security/virt-aa-helper.c | 58 +- src/storage/storage_backend.c | 10 +- src/storage/storage_backend.h | 57 +- src/storage/storage_backend_disk.c | 96 +- src/storage/storage_backend_fs.c | 38 +- src/storage/storage_backend_gluster.c | 35 +- src/storage/storage_backend_iscsi.c | 28 +- src/storage/storage_backend_iscsi_direct.c | 36 +- src/storage/storage_backend_logical.c | 80 +- src/storage/storage_backend_mpath.c | 14 +- src/storage/storage_backend_rbd.c | 118 +- src/storage/storage_backend_scsi.c | 39 +- src/storage/storage_backend_sheepdog.c | 48 +- src/storage/storage_backend_sheepdog_priv.h | 4 +- src/storage/storage_backend_vstorage.c | 16 +- src/storage/storage_backend_zfs.c | 42 +- src/storage/storage_driver.c | 293 +- src/storage/storage_driver.h | 6 +- src/storage/storage_util.c | 270 +- src/storage/storage_util.h | 89 +- src/storage_file/storage_file_backend.c | 6 +- src/storage_file/storage_file_backend.h | 24 +- src/storage_file/storage_file_backend_fs.c | 36 +- .../storage_file_backend_gluster.c | 60 +- src/storage_file/storage_file_probe.c | 10 +- src/storage_file/storage_file_probe.h | 2 +- src/storage_file/storage_source.c | 110 +- src/storage_file/storage_source.h | 56 +- .../storage_source_backingstore.c | 104 +- .../storage_source_backingstore.h | 8 +- src/test/test_driver.c | 1163 ++++---- src/util/virarptable.c | 8 +- src/util/virarptable.h | 8 +- src/util/viraudit.c | 2 +- src/util/viraudit.h | 2 +- src/util/virauth.c | 2 +- src/util/virauth.h | 2 +- src/util/virauthconfig.c | 12 +- src/util/virauthconfig.h | 10 +- src/util/virbitmap.c | 94 +- src/util/virbitmap.h | 69 +- src/util/virbuffer.c | 50 +- src/util/virbuffer.h | 47 +- src/util/vircgroup.c | 484 ++-- src/util/vircgroup.h | 139 +- src/util/vircgroupbackend.c | 10 +- src/util/vircgroupbackend.h | 151 +- src/util/vircgrouppriv.h | 27 +- src/util/vircgroupv1.c | 152 +- src/util/vircgroupv2.c | 144 +- src/util/vircgroupv2devices.c | 22 +- src/util/vircgroupv2devices.h | 10 +- src/util/vircommand.c | 206 +- src/util/vircommand.h | 123 +- src/util/vircommandpriv.h | 2 +- src/util/virconf.c | 152 +- src/util/virconf.h | 55 +- src/util/virdnsmasq.c | 40 +- src/util/virdnsmasq.h | 15 +- src/util/virfdstream.c | 81 +- src/util/virfile.c | 28 +- src/util/virfile.h | 14 +- src/util/virfilecache.c | 30 +- src/util/virfilecache.h | 14 +- src/util/virfirewall.c | 85 +- src/util/virfirewall.h | 38 +- src/util/virfirmware.c | 12 +- src/util/virfirmware.h | 10 +- src/util/virgic.h | 1 - src/util/virhash.c | 18 +- src/util/virhash.h | 10 +- src/util/virhostcpu.c | 40 +- src/util/virhostcpu.h | 11 +- src/util/viridentity.c | 52 +- src/util/viridentity.h | 50 +- src/util/viriptables.c | 90 +- src/util/viriptables.h | 60 +- src/util/virjson.c | 341 ++- src/util/virjson.h | 161 +- src/util/virlease.c | 10 +- src/util/virlease.h | 6 +- src/util/virlockspace.c | 60 +- src/util/virlockspace.h | 21 +- src/util/virlog.c | 90 +- src/util/virlog.h | 39 +- src/util/virmacaddr.c | 12 +- src/util/virmacaddr.h | 14 +- src/util/virmacmap.c | 34 +- src/util/virmacmap.h | 13 +- src/util/virmdev.c | 88 +- src/util/virmdev.h | 75 +- src/util/virnetdev.c | 88 +- src/util/virnetdev.h | 36 +- src/util/virnetdevbandwidth.c | 28 +- src/util/virnetdevbandwidth.h | 16 +- src/util/virnetdevip.c | 42 +- src/util/virnetdevip.h | 27 +- src/util/virnetdevmacvlan.c | 12 +- src/util/virnetdevmidonet.c | 4 +- src/util/virnetdevopenvswitch.c | 14 +- src/util/virnetdevtap.c | 2 +- src/util/virnetdevtap.h | 2 +- src/util/virnetdevvlan.c | 6 +- src/util/virnetdevvlan.h | 7 +- src/util/virnetdevvportprofile.c | 8 +- src/util/virnetdevvportprofile.h | 7 +- src/util/virnetlink.c | 21 +- src/util/virnetlink.h | 3 +- src/util/virnodesuspend.c | 4 +- src/util/virnuma.c | 22 +- src/util/virnuma.h | 12 +- src/util/virnvme.c | 66 +- src/util/virnvme.h | 40 +- src/util/virobject.c | 80 +- src/util/virobject.h | 28 +- src/util/virpci.c | 263 +- src/util/virpci.h | 132 +- src/util/virperf.c | 32 +- src/util/virperf.h | 13 +- src/util/virpolkit.c | 16 +- src/util/virpolkit.h | 5 +- src/util/virportallocator.c | 27 +- src/util/virportallocator.h | 5 +- src/util/virprocess.c | 16 +- src/util/virprocess.h | 4 +- src/util/virqemu.c | 54 +- src/util/virqemu.h | 26 +- src/util/virresctrl.c | 331 ++- src/util/virresctrl.h | 75 +- src/util/virresctrlpriv.h | 4 +- src/util/virrotatingfile.c | 54 +- src/util/virrotatingfile.h | 22 +- src/util/virscsi.c | 69 +- src/util/virscsi.h | 52 +- src/util/virscsivhost.c | 56 +- src/util/virscsivhost.h | 40 +- src/util/virseclabel.c | 16 +- src/util/virseclabel.h | 12 +- src/util/virsecret.c | 12 +- src/util/virsecret.h | 13 +- src/util/virsocketaddr.c | 65 +- src/util/virsocketaddr.h | 52 +- src/util/virsysinfo.c | 132 +- src/util/virsysinfo.h | 45 +- src/util/virsysinfopriv.h | 8 +- src/util/virsystemd.c | 30 +- src/util/virsystemd.h | 11 +- src/util/virthread.c | 52 +- src/util/virthread.h | 64 +- src/util/virthreadpool.c | 68 +- src/util/virthreadpool.h | 25 +- src/util/virtpm.c | 18 +- src/util/virtypedparam.c | 32 +- src/util/virtypedparam.h | 29 +- src/util/viruri.c | 20 +- src/util/viruri.h | 19 +- src/util/virusb.c | 76 +- src/util/virusb.h | 50 +- src/util/virxml.c | 22 +- src/util/virxml.h | 21 +- src/vbox/vbox_common.c | 274 +- src/vbox/vbox_driver.c | 2 +- src/vbox/vbox_get_driver.h | 6 +- src/vbox/vbox_network.c | 36 +- src/vbox/vbox_snapshot_conf.c | 128 +- src/vbox/vbox_snapshot_conf.h | 62 +- src/vbox/vbox_storage.c | 22 +- src/vbox/vbox_tmpl.c | 44 +- src/vbox/vbox_uniformed_api.h | 51 +- src/vmware/vmware_conf.c | 20 +- src/vmware/vmware_conf.h | 12 +- src/vmware/vmware_driver.c | 70 +- src/vmx/vmx.c | 184 +- src/vmx/vmx.h | 14 +- src/vz/vz_driver.c | 421 ++- src/vz/vz_sdk.c | 390 +-- src/vz/vz_sdk.h | 80 +- src/vz/vz_utils.c | 48 +- src/vz/vz_utils.h | 42 +- tests/bhyveargv2xmlmock.c | 4 +- tests/bhyvexml2argvmock.c | 4 +- tests/commandtest.c | 8 +- tests/cputest.c | 106 +- tests/domaincapstest.c | 22 +- tests/domainconftest.c | 8 +- tests/genericxml2xmltest.c | 10 +- tests/interfacexml2xmltest.c | 2 +- tests/libxlxml2domconfigtest.c | 6 +- tests/lxcconf2xmltest.c | 6 +- tests/lxcxml2xmltest.c | 2 +- tests/networkxml2conftest.c | 18 +- tests/networkxml2firewalltest.c | 2 +- tests/networkxml2xmltest.c | 4 +- tests/networkxml2xmlupdatetest.c | 2 +- tests/nodedevmdevctltest.c | 18 +- tests/nodedevxml2xmltest.c | 6 +- tests/nwfilterxml2firewalltest.c | 29 +- tests/nwfilterxml2xmltest.c | 2 +- tests/openvzutilstest.c | 2 +- tests/qemuagenttest.c | 86 +- tests/qemublocktest.c | 80 +- tests/qemucapabilitiestest.c | 9 +- tests/qemucaps2xmltest.c | 13 +- tests/qemucapsprobe.c | 2 +- tests/qemucapsprobemock.c | 18 +- tests/qemucommandutiltest.c | 2 +- tests/qemucpumock.c | 4 +- tests/qemudomaincheckpointxml2xmltest.c | 4 +- tests/qemudomainsnapshotxml2xmltest.c | 2 +- tests/qemufirmwaretest.c | 10 +- tests/qemuhotplugmock.c | 8 +- tests/qemuhotplugtest.c | 42 +- tests/qemumigparamstest.c | 10 +- tests/qemumigrationcookiexmltest.c | 10 +- tests/qemumonitorjsontest.c | 141 +- tests/qemumonitortestutils.c | 163 +- tests/qemumonitortestutils.h | 56 +- tests/qemusecuritytest.c | 18 +- tests/qemustatusxml2xmltest.c | 2 +- tests/qemuxml2argvmock.c | 12 +- tests/qemuxml2argvtest.c | 44 +- tests/seclabeltest.c | 2 +- tests/secretxml2xmltest.c | 2 +- tests/securityselinuxlabeltest.c | 8 +- tests/securityselinuxtest.c | 14 +- tests/storagepoolcapstest.c | 8 +- tests/storagepoolxml2argvtest.c | 4 +- tests/storagevolxml2argvtest.c | 8 +- tests/sysinfotest.c | 2 +- tests/testutils.c | 32 +- tests/testutils.h | 12 +- tests/testutilshostcpus.h | 4 +- tests/testutilslxc.c | 12 +- tests/testutilslxc.h | 6 +- tests/testutilsqemu.c | 44 +- tests/testutilsqemu.h | 28 +- tests/testutilsqemuschema.c | 108 +- tests/testutilsqemuschema.h | 14 +- tests/testutilsxen.c | 14 +- tests/testutilsxen.h | 4 +- tests/vboxsnapshotxmltest.c | 2 +- tests/virauthconfigtest.c | 4 +- tests/virbitmaptest.c | 4 +- tests/virbuftest.c | 4 +- tests/vircaps2xmltest.c | 2 +- tests/vircapstest.c | 16 +- tests/vircgroupmock.c | 2 +- tests/vircgrouptest.c | 2 +- tests/virconftest.c | 2 +- tests/virfilecachetest.c | 29 +- tests/virfirewalltest.c | 6 +- tests/virhostcputest.c | 2 +- tests/virhostdevtest.c | 8 +- tests/virjsontest.c | 2 +- tests/virkmodtest.c | 2 +- tests/virlockspacetest.c | 14 +- tests/virlogtest.c | 4 +- tests/virmacmaptest.c | 8 +- tests/virnetdaemontest.c | 44 +- tests/virnetmessagetest.c | 10 +- tests/virnetserverclientmock.c | 4 +- tests/virnetserverclienttest.c | 6 +- tests/virnetsockettest.c | 32 +- tests/virnettlscontexttest.c | 4 +- tests/virnettlssessiontest.c | 8 +- tests/virnumamock.c | 6 +- tests/virnwfilterbindingxml2xmltest.c | 2 +- tests/virpcitest.c | 32 +- tests/virportallocatortest.c | 4 +- tests/virresctrltest.c | 4 +- tests/virrotatingfiletest.c | 26 +- tests/virschematest.c | 10 +- tests/virscsitest.c | 8 +- tests/virstoragetest.c | 24 +- tests/virsystemdtest.c | 10 +- tests/viruritest.c | 4 +- tests/virusbtest.c | 14 +- tests/vmx2xmltest.c | 8 +- tests/vshtabletest.c | 20 +- tests/xlconfigtest.c | 6 +- tests/xmconfigtest.c | 6 +- tests/xml2vmxtest.c | 10 +- tools/virsh-checkpoint.c | 17 +- tools/virsh-completer-checkpoint.c | 2 +- tools/virsh-completer-domain.c | 16 +- tools/virsh-completer-host.c | 6 +- tools/virsh-completer-interface.c | 2 +- tools/virsh-completer-network.c | 8 +- tools/virsh-completer-nodedev.c | 2 +- tools/virsh-completer-nwfilter.c | 4 +- tools/virsh-completer-pool.c | 2 +- tools/virsh-completer-secret.c | 2 +- tools/virsh-completer-snapshot.c | 2 +- tools/virsh-completer-volume.c | 2 +- tools/virsh-console.c | 21 +- tools/virsh-domain-monitor.c | 23 +- tools/virsh-domain.c | 95 +- tools/virsh-host.c | 42 +- tools/virsh-interface.c | 29 +- tools/virsh-network.c | 36 +- tools/virsh-nodedev.c | 25 +- tools/virsh-nwfilter.c | 36 +- tools/virsh-pool.c | 33 +- tools/virsh-secret.c | 19 +- tools/virsh-snapshot.c | 25 +- tools/virsh-util.c | 14 +- tools/virsh-util.h | 1 - tools/virsh-volume.c | 19 +- tools/virsh.c | 12 +- tools/virsh.h | 1 - tools/virt-admin-completer.c | 2 +- tools/virt-admin.c | 44 +- tools/virt-admin.h | 1 - tools/virt-host-validate-common.c | 8 +- tools/virt-host-validate-common.h | 2 +- tools/virt-host-validate-qemu.c | 2 +- tools/virt-login-shell-helper.c | 4 +- tools/vsh-table.c | 36 +- tools/vsh-table.h | 12 +- tools/vsh.c | 4 +- 732 files changed, 29237 insertions(+), 30131 deletions(-) -- 2.26.2

On Thu, Mar 11, 2021 at 06:54:20PM +0100, Michal Privoznik wrote:
Historically, we declared pointer type to our types:
typedef struct _virXXX virXXX; typedef virXXX *virXXXPtr;
But usefulness of such declaration is questionable, at best. Unfortunately, we can't drop every such declaration - we have to carry some over, because they are part of public API (e.g. virDomainPtr). But for internal types - we can do drop them and use what every other C project uses 'virXXX *'.
This change was generated by a very ugly shell script that generated sed script which was then called over each file in the repository. For the shell script refer to the cover letter:
$URL
Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- docs/advanced-tests.rst | 2 +- docs/api_extension.html.in | 2 +- docs/coding-style.rst | 2 +-
snip
tools/virt-login-shell-helper.c | 4 +- tools/vsh-table.c | 36 +- tools/vsh-table.h | 12 +- tools/vsh.c | 4 +- 732 files changed, 29237 insertions(+), 30131 deletions(-)
Converting every single file at the same time in one commit is guaranting backporting conflict hell. eg if I'm backporting a patch from src/qemu, it is much saner if I can cherry-pick the "Ptr" conversion from src/qemu and only deal with conflicts in that, not the entire soure tree. So if we're going to do this conversion, IMHO the actual commits need to be way more granular. At the very least I think this needs to be split per driver, with tests/ associated with their driver. The util/ directory needs to be split up and likewise the conf/ directory per object type I think. Also dropping usage of the "Ptr" should be separate from dropping the typedefs themselves as I think that'll make conflicts easier to deal with. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

On 3/11/21 7:47 PM, Daniel P. Berrangé wrote:
On Thu, Mar 11, 2021 at 06:54:20PM +0100, Michal Privoznik wrote:
Historically, we declared pointer type to our types:
typedef struct _virXXX virXXX; typedef virXXX *virXXXPtr;
But usefulness of such declaration is questionable, at best. Unfortunately, we can't drop every such declaration - we have to carry some over, because they are part of public API (e.g. virDomainPtr). But for internal types - we can do drop them and use what every other C project uses 'virXXX *'.
This change was generated by a very ugly shell script that generated sed script which was then called over each file in the repository. For the shell script refer to the cover letter:
$URL
Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- docs/advanced-tests.rst | 2 +- docs/api_extension.html.in | 2 +- docs/coding-style.rst | 2 +-
snip
tools/virt-login-shell-helper.c | 4 +- tools/vsh-table.c | 36 +- tools/vsh-table.h | 12 +- tools/vsh.c | 4 +- 732 files changed, 29237 insertions(+), 30131 deletions(-)
Converting every single file at the same time in one commit is guaranting backporting conflict hell.
eg if I'm backporting a patch from src/qemu, it is much saner if I can cherry-pick the "Ptr" conversion from src/qemu and only deal with conflicts in that, not the entire soure tree.
So if we're going to do this conversion, IMHO the actual commits need to be way more granular. At the very least I think this needs to be split per driver, with tests/ associated with their driver. The util/ directory needs to be split up and likewise the conf/ directory per object type I think.
I though about it this way too, but then I realized, that the only type of merge conflicts we will get while backporting is context. I mean, after this commit, every subsequent commit will use 'virXXX *' which is perfectly okay even now. And thus what we might get the only type of conflict - cherry picked commit already expects 'virXXX *' (e.g. it renames a variable), but the downstream has 'virXXXPtr'. But this kind of conflict is trivial to resolve. Another reason to put it into one huge patch was to not bother with dependencies. It's not uncommon that our commits touch different locations at the same time, they are not strictly aiming on one submodule (e.g. src/conf and src/qemu at the same time, or src/util and tools/virsh). The point is, making the granularity satisfactory fine grained is hard.
Also dropping usage of the "Ptr" should be separate from dropping the typedefs themselves as I think that'll make conflicts easier to deal with.
Yeah, this makes sense. I'll split it. Michal

On 3/12/21 8:59 AM, Michal Privoznik wrote:
On 3/11/21 7:47 PM, Daniel P. Berrangé wrote:
On Thu, Mar 11, 2021 at 06:54:20PM +0100, Michal Privoznik wrote:
Historically, we declared pointer type to our types:
typedef struct _virXXX virXXX; typedef virXXX *virXXXPtr;
Also dropping usage of the "Ptr" should be separate from dropping the typedefs themselves as I think that'll make conflicts easier to deal with.
Yeah, this makes sense. I'll split it.
On a second thought, does it make sense? I don't think that somebody would want to backport just the rewrite without dropping the typedefs, or backport just the typedef drop without the rewrite. It's all or nothing. Michal

On Thu, Mar 11, 2021 at 18:47:37 +0000, Daniel P. Berrangé wrote:
On Thu, Mar 11, 2021 at 06:54:20PM +0100, Michal Privoznik wrote:
Historically, we declared pointer type to our types:
typedef struct _virXXX virXXX; typedef virXXX *virXXXPtr;
But usefulness of such declaration is questionable, at best. Unfortunately, we can't drop every such declaration - we have to carry some over, because they are part of public API (e.g. virDomainPtr). But for internal types - we can do drop them and use what every other C project uses 'virXXX *'.
This change was generated by a very ugly shell script that generated sed script which was then called over each file in the repository. For the shell script refer to the cover letter:
$URL
Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- docs/advanced-tests.rst | 2 +- docs/api_extension.html.in | 2 +- docs/coding-style.rst | 2 +-
snip
tools/virt-login-shell-helper.c | 4 +- tools/vsh-table.c | 36 +- tools/vsh-table.h | 12 +- tools/vsh.c | 4 +- 732 files changed, 29237 insertions(+), 30131 deletions(-)
Converting every single file at the same time in one commit is guaranting backporting conflict hell.
eg if I'm backporting a patch from src/qemu, it is much saner if I can cherry-pick the "Ptr" conversion from src/qemu and only deal with conflicts in that, not the entire soure tree.
I don't think it's a good idea to try to backport anything from this patch. There's no need to do so, upstream will strictly use types without Ptr and all of them already exist upstream. Backporting any future changes to the code which still has *Ptr should not cause any issues. Except for moving big parts of code (but such change would likely conflict for other reasons too) and trivial context when the patch touches lines close to virSomethingPtr. Jirka
participants (4)
-
Daniel P. Berrangé
-
Jiri Denemark
-
Ján Tomko
-
Michal Privoznik