[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 :|
- [Qemu-devel] [PATCH v1 10/22] migration: convert tcp socket protocol to use QIOChannel, (continued)
- [Qemu-devel] [PATCH v1 10/22] migration: convert tcp socket protocol to use QIOChannel, Daniel P. Berrange, 2016/01/12
- [Qemu-devel] [PATCH v1 12/22] migration: convert exec socket protocol to use QIOChannel, Daniel P. Berrange, 2016/01/12
- [Qemu-devel] [PATCH v1 11/22] migration: convert fd socket protocol to use QIOChannel, Daniel P. Berrange, 2016/01/12
- [Qemu-devel] [PATCH v1 17/22] migration: delete QEMUFile sockets implementation, Daniel P. Berrange, 2016/01/12
- [Qemu-devel] [PATCH v1 13/22] migration: convert RDMA to use QIOChannel interface, Daniel P. Berrange, 2016/01/12
- [Qemu-devel] [PATCH v1 19/22] migration: move definition of struct QEMUFile back into qemu-file.c, Daniel P. Berrange, 2016/01/12
- [Qemu-devel] [PATCH v1 18/22] migration: delete QEMUFile stdio implementation, Daniel P. Berrange, 2016/01/12
- [Qemu-devel] [PATCH v1 20/22] migration: support TLS encryption with TCP migration backend, Daniel P. Berrange, 2016/01/12
- [Qemu-devel] [PATCH v1 21/22] migration: remove support for non-iovec based write handlers, Daniel P. Berrange, 2016/01/12
- [Qemu-devel] [PATCH v1 22/22] migration: remove qemu_get_fd method from QEMUFile, Daniel P. Berrange, 2016/01/12
- Re: [Qemu-devel] [PATCH v1 00/22] Convert migration to QIOChannel & support TLS,
Daniel P. Berrange <=
- Re: [Qemu-devel] [PATCH v1 00/22] Convert migration to QIOChannel & support TLS, Daniel P. Berrange, 2016/01/20