1. 09 2月, 2017 10 次提交
  2. 08 2月, 2017 14 次提交
  3. 07 2月, 2017 13 次提交
  4. 04 2月, 2017 2 次提交
    • J
      util: Fix domain object leaks on closecallbacks · 48ad6009
      John Ferlan 提交于
      Originally/discovered proposed by "Wang King <king.wang@huawei.com>"
      
      When the virCloseCallbacksSet is first called, it increments the refcnt
      on the domain object to ensure it doesn't get deleted before the callback
      is called. The refcnt would be decremented in virCloseCallbacksUnset once
      the entry is removed from the closeCallbacks has table.
      
      When (mostly) normal shutdown occurs, the qemuProcessStop will end up
      calling qemuProcessAutoDestroyRemove and will remove the callback from
      the list and hash table normally and decrement the refcnt.
      
      However, when qemuConnectClose calls virCloseCallbacksRun, it will scan
      the (locked) closeCallbacks list for matching domain and callback function.
      If an entry is found, it will be removed from the closeCallbacks list and
      placed into a lookaside list to be processed when the closeCallbacks lock
      is dropped. The callback function (e.g. qemuProcessAutoDestroy) is called
      and will run qemuProcessStop. That code will fail to find the callback
      in the list when qemuProcessAutoDestroyRemove is called and thus not decrement
      the domain refcnt. Instead since the entry isn't found the code will just
      return (mostly) harmlessly.
      
      This patch will resolve the issue by taking another ref during the
      search UUID process during virCloseCallackRun, decrementing the refcnt
      taken by virCloseCallbacksSet, calling the callback routine and returning
      overwriting the vm (since it could return NULL). Finally, it will call the
      virDomainObjEndAPI to lower the refcnt and remove the lock taken during
      the search UUID processing. This may cause the vm to be destroyed.
      48ad6009
    • D
      virtlockd: fix systemd unit file dependancies · aed0850e
      Daniel P. Berrange 提交于
      After deploying virtlogd by default we identified a number of
      mistakes in the systemd unit file. virtlockd's relationship
      to libvirtd is the same as virtlogd, so we must apply the
      same unit file fixes to virtlockd
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      aed0850e
  5. 03 2月, 2017 1 次提交