On 09.07.2013 17:09, Michal Privoznik wrote: > Make VIR_ALLOC, virAsprintf and friend to report OOM error and subsequently > adapt the code. > > Patches available at: > git://gitorious.org/~zippy2/libvirt/michal-staging.git > branch oom2 > > > The first two patches need to be reviewed as they weren't ACKed in the first > run. Then, 36/37 met the same fate. I'm sending the rest for completeness. > > Michal Privoznik (37): > viralloc: Report OOM error on failure > Introduce OOM reporting to virAsprintf > Adapt to VIR_ALLOC and virAsprintf in docs/ > Adapt to VIR_ALLOC and virAsprintf in daemon/* > Adapt to VIR_ALLOC and virAsprintf in src/access/* > Adapt to VIR_ALLOC and virAsprintf in src/conf/* > Adapt to VIR_ALLOC and virAsprintf in src/cpu/* > Adapt to VIR_ALLOC and virAsprintf in src/esx/* > Adapt to VIR_ALLOC and virAsprintf in src/hyperv/* > Adapt to VIR_ALLOC and virAsprintf in src/interface/* > Adapt to VIR_ALLOC and virAsprintf in src/libxl/* > Adapt to VIR_ALLOC and virAsprintf in src/locking/* > Adapt to VIR_ALLOC and virAsprintf in src/lxc/* > Adapt to VIR_ALLOC and virAsprintf in src/node_device/* > Adapt to VIR_ALLOC and virAsprintf in src/network/* > Adapt to VIR_ALLOC and virAsprintf in src/nwfilter/* > Adapt to VIR_ALLOC and virAsprintf in src/openvz/* > Adapt to VIR_ALLOC and virAsprintf in src/parallels/* > Adapt to VIR_ALLOC and virAsprintf in src/phyp/* > Adapt to VIR_ALLOC and virAsprintf in src/qemu/* > Adapt to VIR_ALLOC and virAsprintf in src/remote/* > Adapt to VIR_ALLOC and virAsprintf in src/rpc/* > Adapt to VIR_ALLOC and virAsprintf in src/secret/* > Adapt to VIR_ALLOC and virAsprintf in src/security/* > Adapt to VIR_ALLOC and virAsprintf in src/storage/* > Adapt to VIR_ALLOC and virAsprintf in src/test/* > Adapt to VIR_ALLOC and virAsprintf in src/uml/* > Adapt to VIR_ALLOC and virAsprintf in src/util/* > Adapt to VIR_ALLOC and virAsprintf in src/vbox/* > Adapt to VIR_ALLOC and virAsprintf in src/vmware/* > Adapt to VIR_ALLOC and virAsprintf in src/vmx/* > Adapt to VIR_ALLOC and virAsprintf in src/xen/* > Adapt to VIR_ALLOC and virAsprintf in src/xenapi/* > Adapt to VIR_ALLOC and virAsprintf in src/xenxs/* > Adapt to VIR_ALLOC and virAsprintf in src/* > Adapt to VIR_ALLOC and virAsprintf in tests/* > Adapt to VIR_ALLOC and virAsprintf in tools/* > > HACKING | 20 +- > cfg.mk | 2 +- > daemon/libvirtd-config.c | 12 +- > daemon/libvirtd.c | 24 +- > daemon/remote.c | 234 +++++--------------- > daemon/stream.c | 4 +- > docs/hacking.html.in | 20 +- > po/POTFILES.in | 1 + > python/libvirt-override.c | 102 ++++----- > src/access/viraccessdriverpolkit.c | 4 +- > src/access/viraccessdriverstack.c | 4 +- > src/access/viraccessmanager.c | 4 +- > src/conf/cpu_conf.c | 34 +-- > src/conf/domain_audit.c | 36 +-- > src/conf/domain_conf.c | 334 +++++++++------------------- > src/conf/domain_event.c | 30 +-- > src/conf/interface_conf.c | 35 +-- > src/conf/netdev_bandwidth_conf.c | 12 +- > src/conf/netdev_vlan_conf.c | 4 +- > src/conf/netdev_vport_profile_conf.c | 4 +- > src/conf/network_conf.c | 120 +++------- > src/conf/node_device_conf.c | 29 +-- > src/conf/nwfilter_conf.c | 33 +-- > src/conf/nwfilter_ipaddrmap.c | 8 +- > src/conf/nwfilter_params.c | 35 +-- > src/conf/secret_conf.c | 4 +- > src/conf/snapshot_conf.c | 47 ++-- > src/conf/storage_conf.c | 38 +--- > src/conf/storage_encryption_conf.c | 12 +- > src/conf/virchrdev.c | 14 +- > src/cpu/cpu.c | 4 +- > src/cpu/cpu_arm.c | 6 +- > src/cpu/cpu_generic.c | 12 +- > src/cpu/cpu_powerpc.c | 20 +- > src/cpu/cpu_s390.c | 4 +- > src/cpu/cpu_x86.c | 86 +++---- > src/driver.c | 4 +- > src/esx/esx_driver.c | 62 ++---- > src/esx/esx_network_driver.c | 16 +- > src/esx/esx_storage_backend_iscsi.c | 4 +- > src/esx/esx_storage_backend_vmfs.c | 72 ++---- > src/esx/esx_util.c | 4 +- > src/esx/esx_vi.c | 50 ++--- > src/esx/esx_vi.h | 3 +- > src/esx/esx_vi_types.c | 3 +- > src/fdstream.c | 4 +- > src/hyperv/hyperv_driver.c | 21 +- > src/hyperv/hyperv_util.c | 4 +- > src/hyperv/hyperv_wmi.c | 8 +- > src/interface/interface_backend_netcf.c | 27 +-- > src/interface/interface_backend_udev.c | 33 +-- > src/libvirt.c | 21 +- > src/libvirt_private.syms | 4 +- > src/libxl/libxl_conf.c | 18 +- > src/libxl/libxl_driver.c | 49 +--- > src/locking/lock_daemon.c | 33 +-- > src/locking/lock_daemon_config.c | 8 +- > src/locking/lock_driver_lockd.c | 23 +- > src/locking/lock_driver_sanlock.c | 28 +-- > src/locking/lock_manager.c | 16 +- > src/lxc/lxc_cgroup.c | 4 +- > src/lxc/lxc_conf.c | 5 +- > src/lxc/lxc_container.c | 77 ++----- > src/lxc/lxc_controller.c | 47 +--- > src/lxc/lxc_driver.c | 92 ++------ > src/lxc/lxc_fuse.c | 12 +- > src/lxc/lxc_monitor.c | 4 +- > src/lxc/lxc_process.c | 30 +-- > src/network/bridge_driver.c | 138 ++++-------- > src/node_device/node_device_driver.c | 4 +- > src/node_device/node_device_udev.c | 18 +- > src/nodeinfo.c | 61 ++--- > src/nwfilter/nwfilter_dhcpsnoop.c | 29 +-- > src/nwfilter/nwfilter_driver.c | 13 +- > src/nwfilter/nwfilter_ebiptables_driver.c | 46 ++-- > src/nwfilter/nwfilter_gentech_driver.c | 24 +- > src/nwfilter/nwfilter_learnipaddr.c | 12 +- > src/openvz/openvz_conf.c | 42 ++-- > src/openvz/openvz_driver.c | 10 +- > src/parallels/parallels_driver.c | 65 ++---- > src/parallels/parallels_network.c | 24 +- > src/parallels/parallels_storage.c | 50 ++--- > src/parallels/parallels_utils.c | 4 +- > src/phyp/phyp_driver.c | 95 ++------ > src/qemu/qemu_agent.c | 42 ++-- > src/qemu/qemu_capabilities.c | 69 ++---- > src/qemu/qemu_cgroup.c | 4 +- > src/qemu/qemu_command.c | 357 ++++++++++-------------------- > src/qemu/qemu_conf.c | 88 +++----- > src/qemu/qemu_domain.c | 59 ++--- > src/qemu/qemu_driver.c | 124 +++-------- > src/qemu/qemu_hotplug.c | 84 ++----- > src/qemu/qemu_migration.c | 94 +++----- > src/qemu/qemu_monitor.c | 33 +-- > src/qemu/qemu_monitor_json.c | 118 +++------- > src/qemu/qemu_monitor_text.c | 233 +++++-------------- > src/qemu/qemu_process.c | 70 ++---- > src/remote/remote_driver.c | 107 +++------ > src/rpc/gendispatch.pl | 8 +- > src/rpc/virnetclient.c | 26 +-- > src/rpc/virnetclientprogram.c | 12 +- > src/rpc/virnetclientstream.c | 4 +- > src/rpc/virnetmessage.c | 26 +-- > src/rpc/virnetserver.c | 23 +- > src/rpc/virnetserverclient.c | 19 +- > src/rpc/virnetservermdns.c | 20 +- > src/rpc/virnetserverprogram.c | 8 +- > src/rpc/virnetserverservice.c | 12 +- > src/rpc/virnetsocket.c | 8 +- > src/rpc/virnetsshsession.c | 21 +- > src/rpc/virnettlscontext.c | 26 +-- > src/secret/secret_driver.c | 55 ++--- > src/security/security_apparmor.c | 25 +-- > src/security/security_dac.c | 12 +- > src/security/security_manager.c | 12 +- > src/security/security_selinux.c | 45 ++-- > src/security/security_stack.c | 8 +- > src/security/virt-aa-helper.c | 36 +-- > src/storage/storage_backend.c | 35 +-- > src/storage/storage_backend_disk.c | 17 +- > src/storage/storage_backend_fs.c | 31 +-- > src/storage/storage_backend_iscsi.c | 27 +-- > src/storage/storage_backend_logical.c | 48 +--- > src/storage/storage_backend_mpath.c | 20 +- > src/storage/storage_backend_rbd.c | 18 +- > src/storage/storage_backend_scsi.c | 21 +- > src/storage/storage_backend_sheepdog.c | 4 +- > src/storage/storage_driver.c | 23 +- > src/test/test_driver.c | 91 +++----- > src/uml/uml_conf.c | 28 +-- > src/uml/uml_driver.c | 36 +-- > src/util/iohelper.c | 4 +- > src/util/viralloc.c | 166 ++++++++++++-- > src/util/viralloc.h | 234 +++++++++++++++++--- > src/util/virauth.c | 6 +- > src/util/virauthconfig.c | 16 +- > src/util/virbitmap.c | 5 +- > src/util/virbuffer.c | 8 +- > src/util/vircgroup.c | 11 +- > src/util/vircommand.c | 13 +- > src/util/virconf.c | 10 +- > src/util/virdnsmasq.c | 53 ++--- > src/util/virerror.c | 6 +- > src/util/vireventpoll.c | 4 +- > src/util/virfile.c | 34 +-- > src/util/virhash.c | 11 +- > src/util/viridentity.c | 4 +- > src/util/virinitctl.c | 4 +- > src/util/viriptables.c | 11 +- > src/util/virkeyfile.c | 4 +- > src/util/virlockspace.c | 37 +--- > src/util/virlog.c | 28 +-- > src/util/virnetdev.c | 45 +--- > src/util/virnetdevbandwidth.c | 21 +- > src/util/virnetdevbridge.c | 8 +- > src/util/virnetdevmacvlan.c | 6 +- > src/util/virnetdevopenvswitch.c | 18 +- > src/util/virnetdevtap.c | 8 +- > src/util/virnetdevveth.c | 8 +- > src/util/virnetdevvlan.c | 4 +- > src/util/virnetdevvportprofile.c | 4 +- > src/util/virnetlink.c | 8 +- > src/util/virobject.c | 8 +- > src/util/virpci.c | 94 ++------ > src/util/virportallocator.c | 1 - > src/util/virprocess.c | 17 +- > src/util/virrandom.c | 9 +- > src/util/virscsi.c | 28 +-- > src/util/virsexpr.c | 4 +- > src/util/virsocketaddr.c | 6 +- > src/util/virstoragefile.c | 32 +-- > src/util/virstring.c | 44 ++-- > src/util/virstring.h | 67 +++++- > src/util/virsysinfo.c | 22 +- > src/util/virthreadpool.c | 21 +- > src/util/virthreadpthread.c | 2 +- > src/util/virtime.c | 8 +- > src/util/virtpm.c | 4 +- > src/util/virtypedparam.c | 68 ++---- > src/util/viruri.c | 12 +- > src/util/virusb.c | 13 +- > src/util/virutil.c | 107 +++------ > src/util/virxml.c | 1 - > src/vbox/vbox_MSCOMGlue.c | 8 +- > src/vbox/vbox_XPCOMCGlue.c | 4 +- > src/vbox/vbox_tmpl.c | 126 +++-------- > src/vmware/vmware_conf.c | 33 +-- > src/vmware/vmware_driver.c | 4 +- > src/vmx/vmx.c | 88 ++------ > src/xen/block_stats.c | 8 +- > src/xen/xen_driver.c | 42 +--- > src/xen/xen_hypervisor.c | 18 +- > src/xen/xen_inotify.c | 4 +- > src/xen/xend_internal.c | 38 +--- > src/xen/xm_internal.c | 24 +- > src/xen/xs_internal.c | 24 +- > src/xenapi/xenapi_driver.c | 20 +- > src/xenapi/xenapi_utils.c | 13 +- > src/xenxs/xen_sxpr.c | 112 ++++------ > src/xenxs/xen_xm.c | 204 ++++++++--------- > tests/commandhelper.c | 3 +- > tests/commandtest.c | 8 +- > tests/domainsnapshotxml2xmltest.c | 2 + > tests/fchosttest.c | 2 + > tests/interfacexml2xmltest.c | 2 + > tests/libvirtdconftest.c | 4 +- > tests/lxcxml2xmltest.c | 2 + > tests/networkxml2conftest.c | 2 + > tests/networkxml2xmltest.c | 2 + > tests/nodedevxml2xmltest.c | 2 + > tests/nodeinfotest.c | 2 + > tests/nwfilterxml2xmltest.c | 2 + > tests/qemuargv2xmltest.c | 2 + > tests/qemuhelptest.c | 2 + > tests/qemumonitortestutils.c | 17 +- > tests/qemuxml2xmltest.c | 2 + > tests/securityselinuxlabeltest.c | 24 +- > tests/securityselinuxtest.c | 8 +- > tests/sexpr2xmltest.c | 2 + > tests/storagepoolxml2xmltest.c | 2 + > tests/storagevolxml2argvtest.c | 2 + > tests/storagevolxml2xmltest.c | 2 + > tests/sysinfotest.c | 2 + > tests/test_conf.c | 2 +- > tests/testutils.c | 2 +- > tests/virbuftest.c | 2 + > tests/virhashtest.c | 4 +- > tests/virnetmessagetest.c | 20 +- > tests/virshtest.c | 2 + > tests/virstoragetest.c | 5 +- > tests/xencapstest.c | 2 + > tests/xmconfigtest.c | 2 + > tests/xml2sexprtest.c | 2 + > tools/console.c | 6 +- > tools/virsh-domain-monitor.c | 4 +- > tools/virsh-domain.c | 28 +-- > tools/virsh.c | 1 - > tools/virt-host-validate-common.c | 2 + > 238 files changed, 2444 insertions(+), 4975 deletions(-) > Thank you guys. I've pushed this. Michal -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list