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

Michal Privoznik mprivozn at redhat.com
Wed Jul 10 09:22:29 UTC 2013


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




More information about the libvir-list mailing list