[libvirt] [PATCH v1 00/37] Remove virReportOOMError from almost everywhere

Michal Privoznik mprivozn at redhat.com
Thu Jul 4 12:06:23 UTC 2013


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 oom1


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                    | 337 +++++++++-------------------
 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                      |  12 +-
 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        |  78 ++-----
 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   |  19 +-
 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                  |  46 +---
 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                  |  50 +----
 src/lxc/lxc_driver.c                      |  92 ++------
 src/lxc/lxc_fuse.c                        |  12 +-
 src/lxc/lxc_monitor.c                     |   4 +-
 src/lxc/lxc_process.c                     |  32 +--
 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                            |  58 ++---
 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                   | 355 ++++++++++--------------------
 src/qemu/qemu_conf.c                      |  88 +++-----
 src/qemu/qemu_domain.c                    |  50 ++---
 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                   |  24 +-
 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                |  49 +----
 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/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                       | 165 ++++++++++++--
 src/util/viralloc.h                       | 213 ++++++++++++++----
 src/util/virauth.c                        |   6 +-
 src/util/virauthconfig.c                  |  16 +-
 src/util/virbuffer.c                      |   8 +-
 src/util/vircgroup.c                      |  13 +-
 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                         |   2 +-
 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                         |  96 ++------
 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                             |  92 ++------
 src/xen/block_stats.c                     |   8 +-
 src/xen/xen_driver.c                      |  42 +---
 src/xen/xen_hypervisor.c                  |  17 +-
 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                |  29 +--
 src/xenapi/xenapi_utils.c                 |  11 +-
 src/xenxs/xen_sxpr.c                      | 112 ++++------
 src/xenxs/xen_xm.c                        | 204 ++++++++---------
 tests/commandhelper.c                     |   1 +
 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          |  21 +-
 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/virbuftest.c                        |   2 +
 tests/virhashtest.c                       |   2 +
 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 +
 235 files changed, 2373 insertions(+), 4941 deletions(-)

-- 
1.8.1.5




More information about the libvir-list mailing list