qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v1 00/22] Convert migration to QIOChannel & supp


From: Daniel P. Berrange
Subject: Re: [Qemu-devel] [PATCH v1 00/22] Convert migration to QIOChannel & support TLS
Date: Tue, 12 Jan 2016 11:59:36 +0000
User-agent: Mutt/1.5.24 (2015-08-30)

BTW, also available at

  https://github.com/berrange/qemu/tree/io-channel-migration-1

On Tue, Jan 12, 2016 at 11:43:54AM +0000, Daniel P. Berrange wrote:
> This is a formal posting of patches that were previously
> previewed at:
> 
>   FYI: https://lists.gnu.org/archive/html/qemu-devel/2015-09/msg00829.html
> 
> The primary goal of this series of patches is to support TLS on the
> migration data channel. The bulk of the work in this series though,
> is converting the various QEMUFile implementations to be baed on the
> new QIOChannel framework.
> 
> At the end of this current series there is just one remaining impl
> of QEMUFileOps that is not based on QIOChannel - the one in savevm.c
> that is using BlockDriverState. It would be possible to create a
> QIOChannel wrapper around BlockDriverState too, at which point all
> QEMUFile impls would be QIOChannel based. This would then let us
> cut out the QEMUFileOps driver callbacks entirely and thus simply
> code even more. This patch series is already too large, so I left
> that for now.
> 
> The first 6 patchs are some basic clean ups to QEMUFile code
> 
> The 7th patch introduces the QIOChannel based QEMUFile impl
> 
> Patches 8-14 convert the various migration protocols to use
> the QIOChannel based QEMUFile impl.
> 
> Patches 15-18 remove the now unused QEMUFile impls that do
> not use QIOChanel
> 
> Patches 19, 21 and 22 does some more cleanup
> 
> Patch 20 achieves the original stated primary goal of adding
> TLS encryption to the TCP migration backend.
> 
> Overall we have a net win of deleting 500 lines of code,
> despite adding more features, which is always nice.
> 
> I testing unix, tcp, exec migrations. I don't have the ability
> to test RDMA migration, and that's the patch I'm also least
> confident about code quality of, so would appreciated some
> independant testing of that one in particular.
> 
> 
> Daniel P. Berrange (22):
>   s390: use FILE instead of QEMUFile for creating text file
>   migration: remove use of qemu_bufopen from vmstate tests
>   migration: ensure qemu_fflush() always writes full data amount
>   migration: split migration hooks out of QEMUFileOps
>   migration: introduce set_blocking function in QEMUFileOps
>   migration: force QEMUFile to blocking mode for outgoing migration
>   migration: introduce a new QEMUFile impl based on QIOChannel
>   migration: convert post-copy to use QIOChannelBuffer
>   migration: convert unix socket protocol to use QIOChannel
>   migration: convert tcp socket protocol to use QIOChannel
>   migration: convert fd socket protocol to use QIOChannel
>   migration: convert exec socket protocol to use QIOChannel
>   migration: convert RDMA to use QIOChannel interface
>   migration: convert savevm to use QIOChannel for writing to files
>   migration: delete QEMUFile buffer implementation
>   migration: delete QEMUSizedBuffer struct
>   migration: delete QEMUFile sockets implementation
>   migration: delete QEMUFile stdio implementation
>   migration: move definition of struct QEMUFile back into qemu-file.c
>   migration: support TLS encryption with TCP migration backend
>   migration: remove support for non-iovec based write handlers
>   migration: remove qemu_get_fd method from QEMUFile
> 
>  docs/migration.txt             |   4 +-
>  hw/s390x/s390-skeys.c          |  19 +-
>  include/migration/qemu-file.h  |  57 ++---
>  include/qemu/typedefs.h        |   1 -
>  include/sysemu/sysemu.h        |   2 +-
>  migration/Makefile.objs        |   6 +-
>  migration/exec.c               |  48 +++--
>  migration/fd.c                 |  57 +++--
>  migration/migration.c          |  24 +--
>  migration/qemu-file-buf.c      | 463 
> -----------------------------------------
>  migration/qemu-file-channel.c  | 201 ++++++++++++++++++
>  migration/qemu-file-internal.h |  53 -----
>  migration/qemu-file-stdio.c    | 195 -----------------
>  migration/qemu-file-unix.c     | 324 ----------------------------
>  migration/qemu-file.c          | 110 +++++-----
>  migration/rdma.c               | 256 ++++++++++++++---------
>  migration/savevm.c             |  57 ++---
>  migration/tcp.c                | 372 +++++++++++++++++++++++++++++----
>  migration/unix.c               | 103 +++++----
>  qemu-options.hx                |   7 +-
>  tests/Makefile                 |   6 +-
>  tests/test-vmstate.c           |  55 ++---
>  22 files changed, 975 insertions(+), 1445 deletions(-)
>  delete mode 100644 migration/qemu-file-buf.c
>  create mode 100644 migration/qemu-file-channel.c
>  delete mode 100644 migration/qemu-file-internal.h
>  delete mode 100644 migration/qemu-file-stdio.c
>  delete mode 100644 migration/qemu-file-unix.c
> 
> -- 
> 2.5.0
> 

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|



reply via email to

[Prev in Thread] Current Thread [Next in Thread]