1. 13 12月, 2017 1 次提交
  2. 18 11月, 2017 3 次提交
    • J
      libvirtd: Fix order of cleanup processing · 2f3054c2
      John Ferlan 提交于
      Current cleanup processing is ad-hoc at best - it's led to a couple of
      strange and hard to diagnose timing problems and crashes.
      
      So rather than perform cleanup in a somewhat random order, let's
      perform cleanup in the exact opposite order of startup.
      
      NB: It is possible that virNetlinkEventServerStart fails and we jump
      to cleanup before driversInitialized has been set. That could leave
      things inconsistent; however, resolution of that possibility is perhaps
      more trouble than it's worth to handle.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      2f3054c2
    • J
      libvirtd: Alter order of virNetDaemonNew · 723cadd9
      John Ferlan 提交于
      Let's be sure we can get a Daemon object before the server object.
      This is a more "orderly" way to do things since the svr object would
      be added to the dmn object afterwards.
      723cadd9
    • J
      libvirtd: Move pid_file_fd setup to before run_dir · b5726b7e
      John Ferlan 提交于
      Once we have forked the daemon successfully, let's claim the pidfile
      immediately rather than waiting for setup of run_dir.
      b5726b7e
  3. 28 8月, 2017 1 次提交
    • E
      daemon: logging: Fix --verbose option being ignored by the daemon · b988f794
      Erik Skultety 提交于
      Commit 94c465d0 refactored the logging setup phase but introduced an
      issue, where the daemon ignores verbose mode when there are no outputs
      defined and the default must be used. The problem is that the default
      output was determined too early, thus ignoring the potential '--verbose'
      option taking effect. This patch postpones the creation of the default
      output to the very last moment when nothing else can change. Since the
      default output is only created during the init phase, it's safe to leave
      the pointer as NULL for a while, but it will be set eventually, thus not
      affecting runtime.
      Patch also adjusts both the other daemons.
      
      Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1442947Signed-off-by: NErik Skultety <eskultet@redhat.com>
      b988f794
  4. 27 7月, 2017 1 次提交
  5. 05 7月, 2017 1 次提交
  6. 13 6月, 2017 2 次提交
  7. 02 6月, 2017 1 次提交
  8. 16 3月, 2017 1 次提交
  9. 21 2月, 2017 1 次提交
    • P
      daemon: Refactor connection driver module loading · 633b7592
      Peter Krempa 提交于
      Pass the registration function name to virDriverLoadModule so that we
      can later call specific functions if necessary (e.g. for testing
      purposes). This gets rid of the rather ugly automatic name generator and
      unifies the code to load/initialize the modules.
      
      It's also clear which registration function gets called.
      633b7592
  10. 09 2月, 2017 1 次提交
  11. 15 12月, 2016 2 次提交
  12. 28 10月, 2016 1 次提交
    • N
      daemon: Fix crash during daemon cleanup · 85c3a182
      Nikolay Shirokovskiy 提交于
      Do not dereference the 'dmn' until after the virStateCleanup is completed.
      
      During initialization, virStateInitialize requires/uses the "dmn" as the
      argument to/for the daemonInhibitCallback functions. Thus, cleanup cannot
      dereference 'dmn' until after calling the virStateCleanup which calls the
      the daemonInhibitCallback using 'dmn'; otherwise, the following crash occurs:
      
      backtrace (shortened a bit)
      
      1  0x00007fd3a791b2e6 in virCondWait (c=<optimized out>, m=<optimized out>)
         at util/virthread.c:154
      2  0x00007fd3a791bcb0 in virThreadPoolFree (pool=0x7fd38024ee00)
         at util/virthreadpool.c:266
      3  0x00007fd38edaa00e in qemuStateCleanup () at qemu/qemu_driver.c:1116
      4  0x00007fd3a79abfeb in virStateCleanup () at libvirt.c:808
      5  0x00007fd3a85f2c9e in main (argc=<optimized out>, argv=<optimized out>)
          at libvirtd.c:1660
      
      Thread 1 (Thread 0x7fd38722d700 (LWP 32256)):
      0  0x00007fd3a7900910 in virClassIsDerivedFrom
         (klass=0xdfd36058d4853, parent=0x7fd3a8f394d0) at util/virobject.c:169
      1  0x00007fd3a7900c4e in virObjectIsClass
         (anyobj=anyobj@entry=0x7fd3a8f2f850, klass=<optimized out>)
         at util/virobject.c:365
      2  0x00007fd3a7900c74 in virObjectLock (anyobj=0x7fd3a8f2f850)
         at util/virobject.c:317
      3  0x00007fd3a7a24d5d in virNetDaemonRemoveShutdownInhibition
         (dmn=0x7fd3a8f2f850) at rpc/virnetdaemon.c:547
      4  0x00007fd38ed722cf in qemuProcessStop
         (driver=driver@entry=0x7fd380103810, vm=vm@entry=0x7fd38025b6d0,
          reason=reason@entry=VIR_DOMAIN_SHUTOFF_SHUTDOWN,
          asyncJob=asyncJob@entry=QEMU_ASYNC_JOB_NONE, flags=flags@entry=0)
         at qemu/qemu_process.c:5786
      5  0x00007fd38edd9428 in processMonitorEOFEvent
         (vm=0x7fd38025b6d0, driver=0x7fd380103810) at qemu/qemu_driver.c:4588
      6  qemuProcessEventHandler (data=<optimized out>, opaque=0x7fd380103810)
         at qemu/qemu_driver.c:4632
      7  0x00007fd3a791bb55 in virThreadPoolWorker
         (opaque=opaque@entry=0x7fd3a8f1e4c0) at util/virthreadpool.c:145
      85c3a182
  13. 10 10月, 2016 3 次提交
  14. 26 6月, 2016 1 次提交
  15. 08 6月, 2016 2 次提交
  16. 20 5月, 2016 1 次提交
  17. 16 5月, 2016 1 次提交
  18. 04 5月, 2016 1 次提交
  19. 03 5月, 2016 2 次提交
  20. 15 4月, 2016 1 次提交
  21. 13 4月, 2016 1 次提交
  22. 11 3月, 2016 2 次提交
  23. 17 2月, 2016 2 次提交
  24. 10 8月, 2015 1 次提交
    • M
      rpc: Remove keepalive_required option · a8743c39
      Martin Kletzander 提交于
      Since its introduction in 2011 (particularly in commit f4324e32),
      the option doesn't work.  It just effectively disables all incoming
      connections.  That's because the client private data that contain the
      'keepalive_supported' boolean, are initialized to zeroes so the bool is
      false and the only other place where the bool is used is when checking
      whether the client supports keepalive.  Thus, according to the server,
      no client supports keepalive.
      
      Removing this instead of fixing it is better because a) apparently
      nobody ever tried it since 2011 (4 years without one month) and b) we
      cannot know whether the client supports keepalive until we get a ping or
      pong keepalive packet.  And that won't happen until after we dispatched
      the ConnectOpen call.
      
      Another two reasons would be c) the keepalive_required was tracked on
      the server level, but keepalive_supported was in private data of the
      client as well as the check that was made in the remote layer, thus
      making all other instances of virNetServer miss this feature unless they
      all implemented it for themselves and d) we can always add it back in
      case there is a request and a use-case for it.
      Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
      a8743c39
  25. 15 7月, 2015 1 次提交
  26. 28 6月, 2015 1 次提交
  27. 19 6月, 2015 1 次提交
    • M
      daemonSetupNetworking: Don't leak services · 058d18bd
      Michal Privoznik 提交于
      When setting up the daemon networking, new services are created. These
      services then have sockets to listen on. Once created, the service
      objects are added to corresponding server object. However, during that
      process, server increases reference counter of the service object. So,
      at the end of the function, we should decrease it again. This way the
      service objects will have only 1 reference, but that's okay since
      servers are the only objects having a reference.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      058d18bd
  28. 18 6月, 2015 1 次提交
  29. 16 6月, 2015 2 次提交