From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53338) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aLx4U-0001WA-UF for qemu-devel@nongnu.org; Wed, 20 Jan 2016 13:01:32 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aLx4R-0004iE-Ix for qemu-devel@nongnu.org; Wed, 20 Jan 2016 13:01:30 -0500 Received: from mx1.redhat.com ([209.132.183.28]:48352) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aLx4R-0004hZ-BC for qemu-devel@nongnu.org; Wed, 20 Jan 2016 13:01:27 -0500 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (Postfix) with ESMTPS id CAE51C0ED417 for ; Wed, 20 Jan 2016 18:01:26 +0000 (UTC) Date: Wed, 20 Jan 2016 18:01:23 +0000 From: "Daniel P. Berrange" Message-ID: <20160120180122.GI13215@redhat.com> References: <1452599056-27357-1-git-send-email-berrange@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <1452599056-27357-1-git-send-email-berrange@redhat.com> Subject: Re: [Qemu-devel] [PATCH v1 00/22] Convert migration to QIOChannel & support TLS Reply-To: "Daniel P. Berrange" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Amit Shah , "Dr. David Alan Gilbert" , Juan Quintela ping, any thoughts on this series. This native encryption is pretty important to the openstack community, along with NBD encryption, so I'd like to try and get it ready in time for 2.6. Regards, Daniel 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 :|