On 04/29/2013 09:50 AM, Michal Privoznik wrote: > Previously, the first version dropped virReportOOMError from > almost everywhere. This series don't set such high goal yet. It > just prepares ground for doing so. The worst case scenario is the > OOM error is reported twice. Once in VIR_ALLOC, VIR_STRDUP, > virAsprintf (or similar), then in virReportOOMError itself. > However, once this is pushed, it's easy to get rid of the latter > one. > I've gone through each of the patches and figured I'd do one synopsis message! >From the code motion and adjustment, it seems things are OK. I tried to keep focus, but the monotony of motion could have just as easily played tricks on my eyes. I noted a few issues that need cleanup (the missing increment in 12, an 'm' instead of a ',', a couple of spacing things, and the syntax-check STRUP typo. While not called out, patches 24 (test), 26 (util), and 30 (xen) also had a few instances of auto increment inside the STR*DUP macro. It seems from Eric's comments from 12 that it's OK to do so as long as it's documented that way. Beyond that - thanks for a new way to take power naps :-) John > Patches available at: > git://gitorious.org/~zippy2/libvirt/michal-staging.git > branch oom3 > > Remember, this will not be pushed until we are after the freeze. > But the freeze creates a nice steady HEAD which is needed in such > a giant change like this one. > > Michal Privoznik (37): > virutil: Move string related functions to virstring.c > virstring: Introduce VIR_STRUP and VIR_STRNDUP > Adapt to VIR_STRDUP in daemon/* > Adapt to VIR_STRDUP in src/conf/* > Adapt to VIR_STRDUP in src/cpu/* > Adapt to VIR_STRDUP in src/esx/* > Adapt to VIR_STRDUP in src/hyperv/* > Adapt to VIR_STRDUP in src/libxl/* > Adapt to VIR_STRDUP in src/locking/* > Adapt to VIR_STRDUP in src/lxc/* > Adapt to VIR_STRDUP in src/network/* > Adapt to VIR_STRDUP in src/node_device/* > Adapt to VIR_STRDUP in src/interface/ > Adapt to VIR_STRDUP in src/nwfilter/* > Adapt to VIR_STRDUP in src/openvz/* > Adapt to VIR_STRDUP in src/parallels/* > Adapt to VIR_STRDUP in src/phyp/* > Adapt to VIR_STRDUP in src/qemu/* > Adapt to VIR_STRDUP in src/remote/* > Adapt to VIR_STRDUP in src/rpc/* > Adapt to VIR_STRDUP in src/secret/* > Adapt to VIR_STRDUP in src/security/* > Adapt to VIR_STRDUP in src/storage/* > Adapt to VIR_STRDUP in src/test/* > Adapt to VIR_STRDUP in src/uml/* > Adapt to VIR_STRDUP in src/util/* > Adapt to VIR_STRDUP in src/vbox/* > Adapt to VIR_STRDUP in src/vmware/* > Adapt to VIR_STRDUP in src/vmx/* > Adapt to VIR_STRDUP in src/xen/* > Adapt to VIR_STRDUP in src/xenapi/* > Adapt to VIR_STRDUP in src/xenxs/* > Adapt to VIR_STRDUP in tests/* > Adapt to VIR_STRDUP in src/* > Introduce syntax-check rule to prefer VIR_STRDUP over strdup > virstring: Introduce virAsprintfQuiet and virVasprintfQuiet > viralloc.c: Do report OOM error in VIR_ALLOC and friends > > HACKING | 19 ++ > cfg.mk | 12 +- > daemon/libvirtd-config.c | 39 +-- > daemon/libvirtd.c | 19 +- > daemon/remote.c | 97 +++---- > docs/hacking.html.in | 26 ++ > include/libvirt/libvirt.h.in | 10 +- > po/POTFILES.in | 1 + > python/libvirt-override.c | 103 +++---- > src/conf/capabilities.c | 27 +- > src/conf/cpu_conf.c | 14 +- > src/conf/device_conf.c | 2 +- > src/conf/domain_audit.c | 1 + > src/conf/domain_conf.c | 66 ++--- > src/conf/domain_conf.h | 1 - > src/conf/domain_event.c | 31 +- > src/conf/interface_conf.c | 1 - > src/conf/netdev_bandwidth_conf.c | 2 +- > src/conf/netdev_vport_profile_conf.c | 1 + > src/conf/network_conf.c | 2 +- > src/conf/node_device_conf.c | 29 +- > src/conf/nwfilter_conf.c | 20 +- > src/conf/nwfilter_conf.h | 1 - > src/conf/nwfilter_params.c | 23 +- > src/conf/secret_conf.c | 1 - > src/conf/snapshot_conf.c | 8 +- > src/conf/storage_conf.c | 11 +- > src/conf/storage_conf.h | 1 - > src/conf/storage_encryption_conf.c | 1 - > src/conf/virchrdev.c | 7 +- > src/cpu/cpu_generic.c | 6 +- > src/cpu/cpu_map.c | 3 +- > src/cpu/cpu_powerpc.c | 11 +- > src/cpu/cpu_x86.c | 9 +- > src/datatypes.c | 26 +- > src/driver.c | 2 +- > src/esx/esx_device_monitor.c | 1 - > src/esx/esx_driver.c | 35 +-- > src/esx/esx_interface_driver.c | 6 +- > src/esx/esx_network_driver.c | 21 +- > src/esx/esx_nwfilter_driver.c | 1 - > src/esx/esx_secret_driver.c | 1 - > src/esx/esx_storage_backend_iscsi.c | 15 +- > src/esx/esx_storage_backend_vmfs.c | 10 +- > src/esx/esx_util.c | 39 +-- > src/esx/esx_vi.c | 54 +--- > src/esx/esx_vi_types.c | 24 +- > src/fdstream.c | 1 + > src/hyperv/hyperv_device_monitor.c | 1 - > src/hyperv/hyperv_driver.c | 37 +-- > src/hyperv/hyperv_interface_driver.c | 1 - > src/hyperv/hyperv_network_driver.c | 1 - > src/hyperv/hyperv_nwfilter_driver.c | 1 - > src/hyperv/hyperv_secret_driver.c | 1 - > src/hyperv/hyperv_storage_driver.c | 1 - > src/hyperv/hyperv_util.c | 16 +- > src/hyperv/hyperv_wmi.c | 2 +- > src/interface/interface_backend_udev.c | 25 +- > src/libvirt.c | 10 +- > src/libvirt_private.syms | 36 +-- > src/libxl/libxl_conf.c | 59 ++-- > src/libxl/libxl_driver.c | 14 +- > src/locking/lock_daemon.c | 13 +- > src/locking/lock_daemon_config.c | 10 +- > src/locking/lock_daemon_dispatch.c | 4 +- > src/locking/lock_driver_lockd.c | 24 +- > src/locking/lock_driver_sanlock.c | 9 +- > src/locking/lock_manager.c | 4 +- > src/lxc/lxc_cgroup.c | 3 +- > src/lxc/lxc_conf.c | 18 +- > src/lxc/lxc_container.c | 10 +- > src/lxc/lxc_controller.c | 8 +- > src/lxc/lxc_driver.c | 9 +- > src/lxc/lxc_fuse.c | 1 + > src/lxc/lxc_fuse.h | 1 - > src/lxc/lxc_monitor.c | 1 + > src/lxc/lxc_process.c | 5 +- > src/network/bridge_driver.c | 30 +- > src/node_device/node_device_driver.c | 29 +- > src/node_device/node_device_hal.c | 13 +- > src/node_device/node_device_linux_sysfs.c | 1 + > src/node_device/node_device_udev.c | 104 +++---- > src/nodeinfo.c | 6 +- > src/nwfilter/nwfilter_dhcpsnoop.c | 16 +- > src/nwfilter/nwfilter_driver.c | 5 +- > src/nwfilter/nwfilter_ebiptables_driver.c | 12 +- > src/nwfilter/nwfilter_gentech_driver.c | 4 +- > src/nwfilter/nwfilter_learnipaddr.c | 4 +- > src/openvz/openvz_conf.c | 33 ++- > src/openvz/openvz_driver.c | 32 +-- > src/parallels/parallels_driver.c | 36 +-- > src/parallels/parallels_network.c | 14 +- > src/parallels/parallels_storage.c | 40 ++- > src/parallels/parallels_utils.c | 2 +- > src/phyp/phyp_driver.c | 37 +-- > src/qemu/qemu_agent.c | 1 + > src/qemu/qemu_bridge_filter.c | 1 - > src/qemu/qemu_capabilities.c | 38 +-- > src/qemu/qemu_cgroup.c | 4 +- > src/qemu/qemu_command.c | 282 ++++++++----------- > src/qemu/qemu_conf.c | 33 +-- > src/qemu/qemu_domain.c | 17 +- > src/qemu/qemu_driver.c | 93 +++--- > src/qemu/qemu_hotplug.c | 9 +- > src/qemu/qemu_migration.c | 17 +- > src/qemu/qemu_monitor.c | 1 + > src/qemu/qemu_monitor_json.c | 40 ++- > src/qemu/qemu_monitor_text.c | 10 +- > src/qemu/qemu_process.c | 58 ++-- > src/remote/remote_driver.c | 83 +++--- > src/rpc/gendispatch.pl | 13 +- > src/rpc/virkeepalive.c | 1 - > src/rpc/virnetclient.c | 8 +- > src/rpc/virnetmessage.c | 11 +- > src/rpc/virnetsaslcontext.c | 3 +- > src/rpc/virnetserver.c | 4 +- > src/rpc/virnetserverclient.c | 8 +- > src/rpc/virnetservermdns.c | 4 +- > src/rpc/virnetsocket.c | 8 +- > src/rpc/virnetsshsession.c | 23 +- > src/rpc/virnettlscontext.c | 14 +- > src/secret/secret_driver.c | 5 +- > src/security/security_apparmor.c | 13 +- > src/security/security_dac.c | 8 +- > src/security/security_nop.c | 4 +- > src/security/security_selinux.c | 51 ++-- > src/security/virt-aa-helper.c | 6 +- > src/storage/parthelper.c | 7 +- > src/storage/storage_backend.c | 18 +- > src/storage/storage_backend_disk.c | 16 +- > src/storage/storage_backend_fs.c | 18 +- > src/storage/storage_backend_iscsi.c | 16 +- > src/storage/storage_backend_logical.c | 25 +- > src/storage/storage_backend_mpath.c | 4 +- > src/storage/storage_backend_rbd.c | 4 +- > src/storage/storage_backend_scsi.c | 17 +- > src/storage/storage_backend_sheepdog.c | 1 - > src/storage/storage_driver.c | 13 +- > src/test/test_driver.c | 84 +++--- > src/uml/uml_conf.c | 7 +- > src/uml/uml_driver.c | 8 +- > src/util/iohelper.c | 1 + > src/util/viralloc.c | 95 ++++++- > src/util/viralloc.h | 54 +++- > src/util/viraudit.c | 6 +- > src/util/virauth.c | 9 +- > src/util/virauthconfig.c | 7 +- > src/util/virbitmap.c | 10 +- > src/util/virbuffer.c | 8 +- > src/util/vircgroup.c | 31 +- > src/util/vircommand.c | 34 ++- > src/util/vircommand.h | 1 - > src/util/virconf.c | 21 +- > src/util/virdnsmasq.c | 5 +- > src/util/virebtables.c | 36 +-- > src/util/virerror.c | 25 +- > src/util/virfile.c | 1 + > src/util/virhash.c | 5 +- > src/util/virhook.h | 1 - > src/util/viridentity.c | 9 +- > src/util/virinitctl.c | 3 +- > src/util/viriptables.c | 6 +- > src/util/virjson.c | 18 +- > src/util/virkeyfile.c | 7 +- > src/util/virlockspace.c | 14 +- > src/util/virlog.c | 21 +- > src/util/virnetdev.c | 2 + > src/util/virnetdevbandwidth.c | 1 + > src/util/virnetdevbridge.c | 1 + > src/util/virnetdevmacvlan.c | 10 +- > src/util/virnetdevopenvswitch.c | 1 + > src/util/virnetdevopenvswitch.h | 1 - > src/util/virnetdevtap.c | 7 +- > src/util/virnetdevveth.c | 2 + > src/util/virnetdevvportprofile.c | 4 +- > src/util/virobject.c | 5 +- > src/util/virpci.c | 7 +- > src/util/virpidfile.c | 1 + > src/util/virprocess.c | 1 + > src/util/virrandom.c | 1 + > src/util/virsexpr.c | 27 +- > src/util/virsocketaddr.c | 6 +- > src/util/virstatslinux.c | 1 - > src/util/virstoragefile.c | 13 +- > src/util/virstring.c | 451 +++++++++++++++++++++++++++++- > src/util/virstring.h | 74 +++++ > src/util/virsysinfo.c | 170 +++++------ > src/util/virthreadpthread.c | 2 +- > src/util/virtime.c | 1 - > src/util/virtpm.c | 2 +- > src/util/virtypedparam.c | 9 +- > src/util/viruri.c | 20 +- > src/util/virusb.c | 1 + > src/util/virutil.c | 393 ++------------------------ > src/util/virutil.h | 49 ---- > src/util/virxml.c | 7 +- > src/vbox/vbox_MSCOMGlue.c | 1 - > src/vbox/vbox_XPCOMCGlue.c | 5 +- > src/vbox/vbox_driver.c | 1 - > src/vbox/vbox_tmpl.c | 191 +++++++------ > src/vmware/vmware_conf.c | 15 +- > src/vmware/vmware_driver.c | 13 +- > src/vmx/vmx.c | 26 +- > src/xen/block_stats.c | 2 +- > src/xen/xen_driver.c | 4 +- > src/xen/xen_hypervisor.c | 17 +- > src/xen/xen_inotify.c | 11 +- > src/xen/xend_internal.c | 55 ++-- > src/xen/xm_internal.c | 8 +- > src/xen/xs_internal.c | 22 +- > src/xenapi/xenapi_driver.c | 34 ++- > src/xenapi/xenapi_utils.c | 22 +- > src/xenxs/xen_sxpr.c | 108 +++---- > src/xenxs/xen_xm.c | 44 +-- > tests/commandhelper.c | 14 +- > tests/commandtest.c | 4 +- > tests/cputest.c | 1 + > tests/domainsnapshotxml2xmltest.c | 1 + > tests/esxutilstest.c | 1 - > tests/interfacexml2xmltest.c | 2 +- > tests/libvirtdconftest.c | 1 + > tests/lxcxml2xmltest.c | 1 + > tests/networkxml2conftest.c | 3 + > tests/networkxml2xmltest.c | 1 + > tests/nodedevxml2xmltest.c | 1 + > tests/nodeinfotest.c | 2 +- > tests/nwfilterxml2xmltest.c | 1 + > tests/openvzutilstest.c | 8 +- > tests/qemuargv2xmltest.c | 2 +- > tests/qemuhelptest.c | 1 + > tests/qemumonitortest.c | 1 - > tests/qemumonitortestutils.c | 10 +- > tests/qemuxml2argvtest.c | 28 +- > tests/qemuxml2xmltest.c | 1 + > tests/qemuxmlnstest.c | 6 +- > tests/securityselinuxhelper.c | 7 +- > tests/securityselinuxlabeltest.c | 5 +- > tests/securityselinuxtest.c | 9 +- > tests/sexpr2xmltest.c | 1 + > tests/storagebackendsheepdogtest.c | 6 +- > tests/storagepoolxml2xmltest.c | 1 + > tests/storagevolxml2argvtest.c | 1 + > tests/storagevolxml2xmltest.c | 1 + > tests/sysinfotest.c | 2 +- > tests/test_conf.c | 2 +- > tests/testutils.c | 5 +- > tests/testutilsqemu.c | 5 +- > tests/virauthconfigtest.c | 1 - > tests/virbuftest.c | 2 +- > tests/vircgrouptest.c | 4 +- > tests/virdrivermoduletest.c | 1 - > tests/virhashtest.c | 3 +- > tests/viridentitytest.c | 1 - > tests/virkeyfiletest.c | 1 - > tests/virnetmessagetest.c | 22 +- > tests/virnetsockettest.c | 1 + > tests/virportallocatortest.c | 2 +- > tests/virshtest.c | 2 +- > tests/virstoragetest.c | 1 + > tests/virstringtest.c | 1 - > tests/virtimetest.c | 1 - > tests/viruritest.c | 1 - > tests/vmx2xmltest.c | 11 +- > tests/xencapstest.c | 1 + > tests/xmconfigtest.c | 3 + > tests/xml2sexprtest.c | 1 + > tests/xml2vmxtest.c | 11 +- > tools/console.c | 1 - > tools/virsh-domain-monitor.c | 1 + > tools/virsh-domain.c | 1 - > tools/virsh-host.c | 2 +- > tools/virsh-interface.c | 1 + > tools/virsh-network.c | 1 - > tools/virsh-nodedev.c | 1 - > tools/virsh-pool.c | 2 +- > tools/virsh-snapshot.c | 1 - > tools/virsh-volume.c | 1 + > tools/virsh.c | 8 +- > tools/virt-host-validate-common.c | 1 + > 279 files changed, 2544 insertions(+), 2653 deletions(-) > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list