1. 04 6月, 2015 11 次提交
  2. 03 6月, 2015 5 次提交
  3. 27 5月, 2015 2 次提交
  4. 21 5月, 2015 2 次提交
  5. 20 5月, 2015 2 次提交
  6. 19 5月, 2015 1 次提交
  7. 18 5月, 2015 1 次提交
    • L
      conf: make virNodeDevCapData an official type · ffc40b63
      Laine Stump 提交于
      For some reason a union (_virNodeDevCapData) that had only been
      declared inside the toplevel struct virNodeDevCapsDef was being used
      as an argument to functions all over the place. Since it was only a
      union, the "type" attribute wasn't necessarily sent with it. While
      this works, it just seems wrong.
      
      This patch creates a toplevel typedef for virNodeDevCapData and
      virNodeDevCapDataPtr, making it a struct that has the type attribute
      as a member, along with an anonymous union of everything that used to
      be in union _virNodeDevCapData. This way we only have to change the
      following:
      
        s/union _virNodeDevCapData */virNodeDevCapDataPtr /
      
      and
      
        s/caps->type/caps->data.type/
      
      This will make me feel less guilty when adding functions that need a
      pointer to one of these.
      ffc40b63
  8. 15 5月, 2015 2 次提交
  9. 14 5月, 2015 1 次提交
  10. 13 5月, 2015 1 次提交
  11. 12 5月, 2015 1 次提交
    • L
      qemu: fix double free when RNG cold-plug fails · 5f6fe84d
      Luyao Huang 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1220809
      
      When cold-plugging an RNG device but something fails in
      qemuDomainAssignAddresses, we will double free the RNG device.
      Once a device is plugged into the domain, we should set the
      device pointer to NULL to fix this issue.
      
      ...
      5  0x00007fb7d180ac8a in virFree at util/viralloc.c:582
      6  0x00007fb7d1895cdd in virDomainRNGDefFree at conf/domain_conf.c:19786
      7  0x00007fb7d1895d99 in virDomainDeviceDefFree at conf/domain_conf.c:2022
      8  0x00007fb7b92b8baf in qemuDomainAttachDeviceFlags at qemu/qemu_driver.c:8785
      9  0x00007fb7d190c5d7 in virDomainAttachDeviceFlags at libvirt-domain.c:8488
      10 0x00007fb7d23af9d2 in remoteDispatchDomainAttachDeviceFlags at remote_dispatch.h:2842
      ...
      Signed-off-by: NLuyao Huang <lhuang@redhat.com>
      5f6fe84d
  12. 11 5月, 2015 3 次提交
  13. 07 5月, 2015 2 次提交
    • M
      processSerialChangedEvent: Close agent monitor early · 2af51483
      Michal Privoznik 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=890648
      
      So, imagine you've issued an API that involves guest agent. For
      instance, you want to query guest's IP addresses. So the API acquires
      QUERY_JOB, locks the guest agent and issues the agent command.
      However, for some reason, guest agent replies to initial ping
      correctly, but then crashes tragically while executing real command
      (in this case guest-network-get-interfaces). Since initial ping went
      well, libvirt thinks guest agent is accessible and awaits reply to the
      real command. But it will never come. What will is a monitor event.
      Our handler (processSerialChangedEvent) will try to acquire
      MODIFY_JOB, which will fail obviously because the other thread that's
      executing the API already holds a job. So the event handler exits
      early, and the QUERY_JOB is never released nor ended.
      
      The way how to solve this is to put flag somewhere in the monitor
      internals. The flag is called @running and agent commands are issued
      iff the flag is set. The flag itself is set when we connect to the
      agent socket. And unset whenever we see DISCONNECT event from the
      agent. Moreover, we must wake up all the threads waiting for the
      agent. This is done by signalizing the condition they're waiting on.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      2af51483
    • M
      qemuDomainShutdownFlags: check for domain activeness prior to guest presence · 21e8fc36
      Michal Privoznik 提交于
      Running shutdown with mode agent on a shutoff domain gives cryptic
      error message:
      
          virsh # shutdown --mode agent gentoo
          error: Failed to shutdown domain gentoo
          error: Guest agent is not responding: QEMU guest agent is not connected
      
      After this patch, the error is more clear:
      
          virsh # shutdown --mode agent gentoo
          error: Failed to shutdown domain gentoo
          error: Requested operation is not valid: domain is not running
      Reported-by: NMartin Kletzander <mkletzan@redhat.com>
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      21e8fc36
  14. 06 5月, 2015 1 次提交
    • J
      qemu: Resolve Coverity FORWARD_NULL · b8e60f00
      John Ferlan 提交于
      Coverity points out that qemuMonitorGetAllBlockStatsInfo could return a
      -1 and thus not fill in 'stats' (leaving it NULL). Then the call to
      qemuMonitorBlockStatsUpdateCapacity will dereference it.
      b8e60f00
  15. 04 5月, 2015 3 次提交
  16. 30 4月, 2015 1 次提交
    • P
      qemu: blockjob: Call qemuDomainSupportsBlockJobs only on online VMs · f06d7daa
      Peter Krempa 提交于
      Since the qemu capabilities are not initialized for offline VMs the
      caller might get suboptimal error message:
      
      $ virsh blockjob VM PATH --bandwidth 1
      error: unsupported configuration: block jobs not supported with this QEMU binary
      
      Move the checks after we make sure that the VM is alive.
      f06d7daa
  17. 29 4月, 2015 1 次提交