1. 13 3月, 2018 9 次提交
    • P
      qemu: domain: Use virXMLFormatElement in qemuDomainObjPrivateXMLFormatJob · d8be0f4b
      Peter Krempa 提交于
      Modernize the code by using the clever formatter rather than checking
      manually when to format the end of the element.
      Signed-off-by: NPeter Krempa <pkrempa@redhat.com>
      d8be0f4b
    • P
      qemu: domain: Return early in qemuDomainObjPrivateXMLFormatJob · 3a4649b5
      Peter Krempa 提交于
      Remove one level of nesting by returing early.
      Signed-off-by: NPeter Krempa <pkrempa@redhat.com>
      3a4649b5
    • P
      qemu: domain: Don't overwrite job type in private data · d33adb91
      Peter Krempa 提交于
      The code overwrote the internal job type and then fixed it back. Since
      the job type is not accessed in the code this does not make much sense.
      Use the temporary value instead.
      Signed-off-by: NPeter Krempa <pkrempa@redhat.com>
      d33adb91
    • P
      qemu: domain: Split out formating of Job data from private data formatter · d2cd7215
      Peter Krempa 提交于
      Separate the code for later refactoring
      Signed-off-by: NPeter Krempa <pkrempa@redhat.com>
      d2cd7215
    • J
      qemuDomainUSBAddressAddHubs: use numeric comparison · 1ab25747
      Ján Tomko 提交于
      Since data.count is not a pointer, but an integer,
      compare it against an integer value instead of using
      the implicit "boolean" conversion that is customarily
      used for pointers.
      Signed-off-by: NJán Tomko <jtomko@redhat.com>
      1ab25747
    • J
      Adjust whitespace in virDomainDefHasUSB prototype · c8ab5aeb
      Ján Tomko 提交于
      To match the rest of the file.
      Signed-off-by: NJán Tomko <jtomko@redhat.com>
      c8ab5aeb
    • J
      libvirtd: fix potential deadlock when reloading · 33c6eb96
      Jim Fehlig 提交于
      It is possible to deadlock libvirtd when concurrently starting a domain
      and restarting the daemon. Threads involved in the deadlock are
      
      Thread 4 (Thread 0x7fc13b53e700 (LWP 64084)):
      /lib64/libpthread.so.0
          at util/virthread.c:154
          at qemu/qemu_monitor.c:1083
          cmd=0x7fc110017700, scm_fd=-1, reply=0x7fc13b53d318) at
      qemu/qemu_monitor_json.c:305
      cmd=0x7fc110017700,
          reply=0x7fc13b53d318) at qemu/qemu_monitor_json.c:335
          at qemu/qemu_monitor_json.c:1298
          at qemu/qemu_monitor.c:1697
          vm=0x7fc110003d00, asyncJob=QEMU_ASYNC_JOB_START) at qemu/qemu_process.c:1763
      vm=0x7fc110003d00,
          asyncJob=6, logCtxt=0x7fc1100089c0) at qemu/qemu_process.c:1835
          vm=0x7fc110003d00, asyncJob=6, logCtxt=0x7fc1100089c0) at
      qemu/qemu_process.c:2180
      driver=0x7fc12004e1e0,
          vm=0x7fc110003d00, asyncJob=QEMU_ASYNC_JOB_START, incoming=0x0, snapshot=0x0,
          vmop=VIR_NETDEV_VPORT_PROFILE_OP_CREATE, flags=17) at qemu/qemu_process.c:6111
      driver=0x7fc12004e1e0,
          vm=0x7fc110003d00, updatedCPU=0x0, asyncJob=QEMU_ASYNC_JOB_START,
      migrateFrom=0x0,
          migrateFd=-1, migratePath=0x0, snapshot=0x0,
      vmop=VIR_NETDEV_VPORT_PROFILE_OP_CREATE,
          flags=17) at qemu/qemu_process.c:6334
          xml=0x7fc110000ed0 "<!--\nWARNING: THIS IS AN AUTO-GENERATED FILE.
      CHANGES TO IT ARE LIKELY TO BE\nOVERWRITTEN AND LOST. Changes to this xml
      configuration should be made using:\n  virsh edit testvv\nor other
      applicati"..., flags=0) at qemu/qemu_driver.c:1776
      ...
      
      Thread 1 (Thread 0x7fc143c66880 (LWP 64081)):
      /lib64/libpthread.so.0
          at util/virthread.c:122
      conf/nwfilter_conf.c:159
      sig=0x7ffe0a831e30,
          opaque=0x0) at remote/remote_daemon.c:724
          opaque=0x558c5328b230) at rpc/virnetdaemon.c:654
          at util/vireventpoll.c:508
      rpc/virnetdaemon.c:858
      remote/remote_daemon.c:1496
      (gdb) thr 1
      [Switching to thread 1 (Thread 0x7fc143c66880 (LWP 64081))]
      /lib64/libpthread.so.0
      (gdb) f 1
          at util/virthread.c:122
      122	    pthread_rwlock_wrlock(&m->lock);
      (gdb) p updateLock
      $1 = {lock = {__data = {__lock = 0, __nr_readers = 1, __readers_wakeup = 0,
            __writer_wakeup = 0, __nr_readers_queued = 0, __nr_writers_queued = 1,
      __writer = 0,
            __shared = 0, __rwelision = 0 '\000', __pad1 = "\000\000\000\000\000\000",
            __pad2 = 0, __flags = 0},
          __size = "\000\000\000\000\001", '\000' <repeats 15 times>, "\001",
      '\000' <repeats 34 times>, __align = 4294967296}}
      
      Reloading of the nwfilter driver is stuck waiting for a write lock, which
      already has a reader (from qemuDomainCreateXML) in the critical section.
      Since the reload occurs in the context of the main event loop thread,
      libvirtd becomes deadlocked. The deadlock can be avoided by offloading
      the reload work to a thread.
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
      33c6eb96
    • R
      bhyve: fix crash on missing interface model · de3fe191
      Roman Bogorodskiy 提交于
      The bhyve driver crashes in bhyveBuildNetArgStr() when
      network interface model is not defined. As it has to be provided
      explicitly, add a check to report an error if it's missing.
      Signed-off-by: NRoman Bogorodskiy <bogorodskiy@gmail.com>
      Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
      de3fe191
    • R
      Fix build with clang 6.0.0 · 1b6ff36c
      Roman Bogorodskiy 提交于
      Clang 6.0.0 complains when initializing structure with { NULL }:
      
      conf/domain_addr.c:1494:38: error: missing field 'type' initializer [-Werror,-Wmissing-field-initializers]
          virDomainDeviceInfo nfo = { NULL };
      
      Use { 0 } instead to make it happy.
      Signed-off-by: NRoman Bogorodskiy <bogorodskiy@gmail.com>
      Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
      1b6ff36c
  2. 12 3月, 2018 5 次提交
  3. 09 3月, 2018 13 次提交
  4. 08 3月, 2018 13 次提交