1. 06 2月, 2018 1 次提交
  2. 22 9月, 2017 1 次提交
  3. 14 6月, 2017 1 次提交
  4. 13 6月, 2017 2 次提交
  5. 02 6月, 2017 1 次提交
  6. 19 5月, 2017 1 次提交
  7. 27 10月, 2016 1 次提交
  8. 16 6月, 2016 1 次提交
    • D
      migration: rename functions to starting migrations · 22724f49
      Daniel P. Berrange 提交于
      Apply the following renames for starting incoming migration:
      
       process_incoming_migration -> migration_fd_process_incoming
       migration_set_incoming_channel -> migration_channel_process_incoming
       migration_tls_set_incoming_channel -> migration_tls_channel_process_incoming
      
      and for starting outgoing migration:
      
       migration_set_outgoing_channel -> migration_channel_connect
       migration_tls_set_outgoing_channel -> migration_tls_channel_connect
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Message-id: 1464776234-9910-3-git-send-email-berrange@redhat.com
      Message-Id: <1464776234-9910-3-git-send-email-berrange@redhat.com>
      Signed-off-by: NAmit Shah <amit.shah@redhat.com>
      22724f49
  9. 26 5月, 2016 2 次提交
    • D
      migration: add support for encrypting data with TLS · e1226365
      Daniel P. Berrange 提交于
      This extends the migration_set_incoming_channel and
      migration_set_outgoing_channel methods so that they
      will automatically wrap the QIOChannel in a
      QIOChannelTLS instance if TLS credentials are configured
      in the migration parameters.
      
      This allows TLS to work for tcp, unix, fd and exec
      migration protocols. It does not (currently) work for
      RDMA since it does not use these APIs, but it is
      unlikely that TLS would be desired with RDMA anyway
      since it would degrade the performance to that seen
      with TCP defeating the purpose of using RDMA.
      
      On the target host, QEMU would be launched with a set
      of TLS credentials for a server endpoint
      
       $ qemu-system-x86_64 -monitor stdio -incoming defer \
          -object tls-creds-x509,dir=/home/berrange/security/qemutls,endpoint=server,id=tls0 \
          ...other args...
      
      To enable incoming TLS migration 2 monitor commands are
      then used
      
        (qemu) migrate_set_str_parameter tls-creds tls0
        (qemu) migrate_incoming tcp:myhostname:9000
      
      On the source host, QEMU is launched in a similar
      manner but using client endpoint credentials
      
       $ qemu-system-x86_64 -monitor stdio \
          -object tls-creds-x509,dir=/home/berrange/security/qemutls,endpoint=client,id=tls0 \
          ...other args...
      
      To enable outgoing TLS migration 2 monitor commands are
      then used
      
        (qemu) migrate_set_str_parameter tls-creds tls0
        (qemu) migrate tcp:otherhostname:9000
      
      Thanks to earlier improvements to error reporting,
      TLS errors can be seen 'info migrate' when doing a
      detached migration. For example:
      
        (qemu) info migrate
        capabilities: xbzrle: off rdma-pin-all: off auto-converge: off zero-blocks: off compress: off events: off x-postcopy-ram: off
        Migration status: failed
        total time: 0 milliseconds
        error description: TLS handshake failed: The TLS connection was non-properly terminated.
      
      Or
      
        (qemu) info migrate
        capabilities: xbzrle: off rdma-pin-all: off auto-converge: off zero-blocks: off compress: off events: off x-postcopy-ram: off
        Migration status: failed
        total time: 0 milliseconds
        error description: Certificate does not match the hostname localhost
      Reviewed-by: NDr. David Alan Gilbert <dgilbert@redhat.com>
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      Message-Id: <1461751518-12128-27-git-send-email-berrange@redhat.com>
      Signed-off-by: NAmit Shah <amit.shah@redhat.com>
      e1226365
    • D
      migration: convert fd socket protocol to use QIOChannel · 64802ee5
      Daniel P. Berrange 提交于
      Convert the fd socket migration protocol driver to use
      QIOChannel and QEMUFileChannel, instead of plain sockets
      APIs. It can be unconditionally built because the
      QIOChannel APIs it uses will take care to report suitable
      error messages if needed.
      Reviewed-by: NDr. David Alan Gilbert <dgilbert@redhat.com>
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      Message-Id: <1461751518-12128-16-git-send-email-berrange@redhat.com>
      Signed-off-by: NAmit Shah <amit.shah@redhat.com>
      64802ee5
  10. 23 3月, 2016 1 次提交
    • M
      include/qemu/osdep.h: Don't include qapi/error.h · da34e65c
      Markus Armbruster 提交于
      Commit 57cb38b3 included qapi/error.h into qemu/osdep.h to get the
      Error typedef.  Since then, we've moved to include qemu/osdep.h
      everywhere.  Its file comment explains: "To avoid getting into
      possible circular include dependencies, this file should not include
      any other QEMU headers, with the exceptions of config-host.h,
      compiler.h, os-posix.h and os-win32.h, all of which are doing a
      similar job to this file and are under similar constraints."
      qapi/error.h doesn't do a similar job, and it doesn't adhere to
      similar constraints: it includes qapi-types.h.  That's in excess of
      100KiB of crap most .c files don't actually need.
      
      Add the typedef to qemu/typedefs.h, and include that instead of
      qapi/error.h.  Include qapi/error.h in .c files that need it and don't
      get it now.  Include qapi-types.h in qom/object.h for uint16List.
      
      Update scripts/clean-includes accordingly.  Update it further to match
      reality: replace config.h by config-target.h, add sysemu/os-posix.h,
      sysemu/os-win32.h.  Update the list of includes in the qemu/osdep.h
      comment quoted above similarly.
      
      This reduces the number of objects depending on qapi/error.h from "all
      of them" to less than a third.  Unfortunately, the number depending on
      qapi-types.h shrinks only a little.  More work is needed for that one.
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      [Fix compilation without the spice devel packages. - Paolo]
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      da34e65c
  11. 05 2月, 2016 1 次提交
  12. 29 1月, 2016 1 次提交
  13. 12 6月, 2015 1 次提交
  14. 16 1月, 2015 1 次提交
  15. 16 12月, 2014 2 次提交
  16. 23 8月, 2013 1 次提交
  17. 11 3月, 2013 3 次提交
  18. 21 12月, 2012 3 次提交
  19. 19 12月, 2012 5 次提交
  20. 03 11月, 2012 4 次提交
  21. 23 10月, 2012 2 次提交
    • P
      migration (incoming): add error propagation to fd and exec protocols · 43eaae28
      Paolo Bonzini 提交于
      And remove the superfluous integer return value.
      Reviewed-by: NLuiz Capitulino <lcapitulino@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      43eaae28
    • P
      migration (outgoing): add error propagation for all protocols · f37afb5a
      Paolo Bonzini 提交于
      Error propagation is already there for socket backends.  Add it to other
      protocols, simplifying code that tests for errors that will never happen.
      With all protocols understanding Error, the code can be simplified
      further by removing the return value.
      
      Unfortunately, the quality of error messages varies depending
      on where the error is detected, because no Error is passed to the
      NonBlockingConnectHandler.  Thus, the exact error message still cannot
      be sent to the user if the OS reports it asynchronously via SO_ERROR.
      If NonBlockingConnectHandler received an Error**, we could for
      example report the error class and/or message via a new field of the
      query-migration command even if it is reported asynchronously.
      
      Before:
      
          (qemu) migrate fd:ffff
          migrate: An undefined error has occurred
          (qemu) info migrate
          (qemu)
      
      After:
      
          (qemu) migrate fd:ffff
          migrate: File descriptor named 'ffff' has not been found
          (qemu) info migrate
          capabilities: xbzrle: off
          Migration status: failed
          total time: 0 milliseconds
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      f37afb5a
  22. 26 9月, 2012 1 次提交
  23. 15 3月, 2012 1 次提交
    • L
      qapi: Convert migrate · e1c37d0e
      Luiz Capitulino 提交于
      The migrate command is one of those commands where HMP and QMP completely
      mix up together. This made the conversion to the QAPI (which separates the
      command into QMP and HMP parts) a bit difficult.
      
      The first important change to be noticed is that this commit completes the
      removal of the Monitor object from migration code, started by the previous
      commit.
      
      Another important and tricky change is about supporting the non-detached
      mode. That is, if the user doesn't pass '-d' the migrate command will lock
      the monitor and will only release it when migration is finished.
      
      To support this in the new HMP command (hmp_migrate()), it is necessary
      to create a timer which runs every second and checks if the migration is
      still active. If it is, the timer callback will re-schedule itself to run
      one second in the future. If the migration has already finished, the
      monitor lock is released and the user can use it normally.
      
      All these changes should be transparent to the user.
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      Signed-off-by: NLuiz Capitulino <lcapitulino@redhat.com>
      e1c37d0e
  24. 14 1月, 2012 1 次提交
  25. 02 11月, 2011 1 次提交
    • G
      migration: flush migration data to disk. · aab22936
      Gerd Hoffmann 提交于
      This patch increases robustness when migrating to a file with
      two little changes:
      
       (1) Before closing the migration file handle checks if it happens to be
           a regular file and if so it issues a fsync.  This way the data is
           flushed to disk before qemu sends the migration completed event.
       (2) It adds error checking.  In case either fsync or close syscall
           fails pass up the error (and fail migration).
      
      [ v2: return -errno instead of -1 ]
      
      Cc: Juan Quintela <quintela@redhat.com>
      Cc: Jiri Denemark <jdenemar@redhat.com>
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      aab22936