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(-) -- 1.8.1.5 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list