1. 01 3月, 2016 37 次提交
  2. 26 2月, 2016 3 次提交
    • J
      storage: Fix error path in storagePoolDefineXML · ee67069c
      John Ferlan 提交于
      Found by inspection - after calling virStoragePoolObjAssignDef the
      pool is part of the driver->pools.objs list and the failure path
      for the virStoragePoolObjSaveDef will use virStoragePoolObjRemove
      to remove the pool from the objs list which will unlock and free
      the pool pointer (as pools->objs[i] during the loop). Since the call
      doesn't clear the pool address from the callee, we need to set it
      to NULL; otherwise, the virStoragePoolObjUnlock in the cleanup: code
      will fail miserably.
      ee67069c
    • J
      storage: Fix error path in virStoragePoolObjLoad · c53e4ae0
      John Ferlan 提交于
      While reviewing how storage driver used ObjListPtr's for reference
      in some recent secret driver patches to use the same mechanism, I came
      across an instance where the wrong API was called for error paths after
      successfully allocating the storage pool pointer and inserting into
      the driver pool list.
      
      The path is after virStoragePoolObjAssignDef succeeds - the 'def' passed
      in is assigned to pool->def (or newDef) so it shouldn't be the only thing
      deleted. The pool is now part of driver->pools.objs, so it would need to
      be removed (as happens in the storagePoolCreateXML error paths).
      
      Rather than calling virStoragePoolDefFree to free the def which is now
      assigned to the pool, call virStoragePoolObjRemove to ensure the pool
      element is removed from the driver list and that anything stored in pool
      is properly handled by virStoragePoolObjFree including the call to
      virStoragePoolDefFree for the pool->{def|newDef} element.
      c53e4ae0
    • J
      qemu: error out on missing machine type in configs · 21b316f4
      Ján Tomko 提交于
      Commit f1a89a8b allowed parsing configs from /etc/libvirt
      without validating the emulator capabilities.
      
      Check for the presence of a machine type in the qemu driver's
      post parse function instead of crashing.
      
      https://bugzilla.redhat.com/show_bug.cgi?id=1267256
      21b316f4