1. 02 5月, 2016 5 次提交
    • C
      daemon: stream: Don't force error when client aborts · 66a03d0a
      Cole Robinson 提交于
      Every time a client aborts a stream via the virStreamAbort API,
      the daemon always logs an error like:
      
        error : daemonStreamHandleAbort:617 : stream aborted at client request
      
      and that same error is returned to the client. Meaning virStreamAbort
      always returns -1, which seems strange.
      
      This reworks the error handling to only raise an error on virStreamAbort
      if the actual server side abort call raises an error. This is similar
      to how virStreamFinish works.
      
      If the abort code path is triggered by an unexpected message type
      then we continue to raise an unconditional error. Also drop a redundant
      VIR_WARN call there, since virReportError will raise a VIR_ERROR anyways
      66a03d0a
    • C
      daemon: stream: set stream->closed on removal · 75e19990
      Cole Robinson 提交于
      These are the only places where we don't set stream->closed when
      aborting the stream. This leads to spurious errors when the client
      hangs up unexpectedly:
      
      error : virFDStreamUpdateCallback:127 : internal error: stream is not open
      75e19990
    • C
      daemon: stream: don't update events if stream->closed · a680dde6
      Cole Robinson 提交于
      Calling virStreamFinish prematurely seems to trigger this code path
      even after the stream is closed, which ends up hitting this error
      message later:
      
      error : virFDStreamUpdateCallback:127 : internal error: stream is not open
      
      Skip this function if stream->closed, which is used in many other places
      like read/write handlers
      a680dde6
    • C
      daemon: stream: Close stream on send failure · e7407872
      Cole Robinson 提交于
      This is the only place in daemon/stream.c that sets
      'stream->closed = true' but neglects to actually abort the stream
      and remove the callback, which seems wrong.
      e7407872
    • C
      Adapt augeas profile to handle negative int values. · 0304a2a7
      Cédric Bosdonnat 提交于
      Introducing keepalive_interval = -1 breaks to augeas lens. Fix the lens
      by allowing signed ints in the regular expression.
      0304a2a7
  2. 25 4月, 2016 5 次提交
    • A
      man: Fix SYNOPSIS section · 92b2c047
      Andrea Bolognani 提交于
      Format the text properly.
      92b2c047
    • A
      build: Replace variables in man pages · 49ba028a
      Andrea Bolognani 提交于
      We can't use eg. @sysconfdir@ directly in the .pod file, because
      pod2man(1) will interpret that as a variable name and format it
      accordingly.
      
      Instead, we use eg. SYSCONFDIR and use a subsequent sed(1) call
      to turn it into the expected @sysconfdir@.
      49ba028a
    • A
      build: Group files · 7351f7fe
      Andrea Bolognani 提交于
      Define $(PODFILES) and $(MANINFILES) so that adding a new man
      page only requires changes in a few, well defined spots.
      7351f7fe
    • A
      build: Standardize on .pod -> .x.in -> .x · 5b479f3b
      Andrea Bolognani 提交于
      After this commit, all man pages are generated using the same two
      steps:
      
        1. Process a source $command.pod file with pod2man(1) to obtain
           a valid man page in $command.$section.in
      
        2. Process $command.$section.in with sed(1) to obtain the final
           man page in $command.$section
      5b479f3b
    • A
      build: Build man pages in $(builddir) · 90709d8d
      Andrea Bolognani 提交于
      No file should be created inside $(srcdir) during build.
      90709d8d
  3. 21 4月, 2016 5 次提交
  4. 20 4月, 2016 1 次提交
  5. 18 4月, 2016 2 次提交
    • E
      admin: Introduce virAdmServerSetThreadPoolParameters · 93ab4da5
      Erik Skultety 提交于
      Since threadpool increments the current number of threads according to current
      load, i.e. how many jobs are waiting in the queue. The count however, is
      constrained by max and min limits of workers. The logic of this new API works
      like this:
          1) setting the minimum
              a) When the limit is increased, depending on the current number of
                 threads, new threads are possibly spawned if the current number of
                 threads is less than the new minimum limit
              b) Decreasing the minimum limit has no possible effect on the current
                 number of threads
          2) setting the maximum
              a) Icreasing the maximum limit has no immediate effect on the current
                 number of threads, it only allows the threadpool to spawn more
                 threads when new jobs, that would otherwise end up queued, arrive.
              b) Decreasing the maximum limit may affect the current number of
                 threads, if the current number of threads is less than the new
                 maximum limit. Since there may be some ongoing time-consuming jobs
                 that would effectively block this API from killing any threads.
                 Therefore, this API is asynchronous with best-effort execution,
                 i.e. the necessary number of workers will be terminated once they
                 finish their previous job, unless other workers had already
                 terminated, decreasing the limit to the requested value.
          3) setting priority workers
              - both increase and decrease in count of these workers have an
                immediate impact on the current number of workers, new ones will be
                spawned or some of them get terminated respectively.
      Signed-off-by: NErik Skultety <eskultet@redhat.com>
      93ab4da5
    • E
      admin: Introduce virAdmServerGethreadPoolParameters · caa16d31
      Erik Skultety 提交于
      New API to retrieve current server workerpool specs. Since it uses typed
      parameters, more specs to retrieve can be further included in the pool of
      supported ones.
      Signed-off-by: NErik Skultety <eskultet@redhat.com>
      caa16d31
  6. 15 4月, 2016 1 次提交
  7. 13 4月, 2016 2 次提交
  8. 31 3月, 2016 1 次提交
  9. 29 3月, 2016 1 次提交
  10. 25 3月, 2016 1 次提交
  11. 24 3月, 2016 2 次提交
  12. 18 3月, 2016 1 次提交
  13. 11 3月, 2016 6 次提交
  14. 08 3月, 2016 1 次提交
    • J
      Introduce job completed event · f2893001
      Jiri Denemark 提交于
      The VIR_DOMAIN_EVENT_ID_JOB_COMPLETED event will be triggered once a job
      (such as migration) finishes and it will contain statistics for the job
      as one would get by calling virDomainGetJobStats. Thanks to this event
      it is now possible to get statistics of a completed migration of a
      transient domain on the source host.
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      f2893001
  15. 03 3月, 2016 1 次提交
  16. 02 3月, 2016 1 次提交
    • J
      Libvirt: Add missing default value for config option max_queued_clients · b3a4b176
      Jason J. Herne 提交于
      Commit 1199edb1 added config option max_queued_clients and documented the
      default value as 1000 but never actually set that value. This patch sets the
      default value.
      
      This addresses an issue whereby the following error message is reported if too
      many migrations are started simultaneously:
      
      error: End of file while reading data: Ncat: Invalid argument.: Input/output error
      
      The problem is that too many ncat processes are spawned on the destination
      system. They all attempt to connect to the libvirt socket. Because the
      destination libvirtd cannot respond to the connect requests quickly enough we
      overrun the socket's pending connections queue.
      Signed-off-by: NJason J. Herne <jjherne@linux.vnet.ibm.com>
      Reviewed-by: NBoris Fiuczynski <fiuczy@linux.vnet.ibm.com>
      b3a4b176
  17. 01 3月, 2016 1 次提交
  18. 22 2月, 2016 1 次提交
    • M
      adminDaemonListServers: Don't leak @srv_names array · 702713af
      Michal Privoznik 提交于
      When getting a list of servers registered for a daemon, it's
      returned as a dynamically allocated array filled in with pointers
      to constant strings. Because the array is dynamic, it should be
      freed when no longer needed (but not the strings!). Even the
      function that creates the array suggests that.
      
      ==19446== 48 bytes in 3 blocks are definitely lost in loss record 821 of 1,034
      ==19446==    at 0x4C2C28E: realloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==19446==    by 0x54BAFC8: virReallocN (viralloc.c:245)
      ==19446==    by 0x54BB0BE: virExpandN (viralloc.c:294)
      ==19446==    by 0x54BB391: virInsertElementsN (viralloc.c:436)
      ==19446==    by 0x164E3D: virNetDaemonGetServerNames (virnetdaemon.c:217)
      ==19446==    by 0x15616F: adminDaemonListServers (admin_server.c:52)
      ==19446==    by 0x155B8C: adminDispatchConnectListServers (admin.c:151)
      ==19446==    by 0x155FD8: adminDispatchConnectListServersHelper (admin_dispatch.h:101)
      ==19446==    by 0x568E862: virNetServerProgramDispatchCall (virnetserverprogram.c:437)
      ==19446==    by 0x568E3C3: virNetServerProgramDispatch (virnetserverprogram.c:307)
      ==19446==    by 0x5687B5B: virNetServerProcessMsg (virnetserver.c:135)
      ==19446==    by 0x5687C1B: virNetServerHandleJob (virnetserver.c:156)
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      702713af
  19. 17 2月, 2016 2 次提交