From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48472) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZfQ7N-0004Tu-Ik for qemu-devel@nongnu.org; Fri, 25 Sep 2015 06:20:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZfQ7J-000213-Th for qemu-devel@nongnu.org; Fri, 25 Sep 2015 06:20:41 -0400 Received: from mx1.redhat.com ([209.132.183.28]:60949) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZfQ7J-00020v-Pb for qemu-devel@nongnu.org; Fri, 25 Sep 2015 06:20:37 -0400 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 5E29091741 for ; Fri, 25 Sep 2015 10:20:37 +0000 (UTC) Date: Fri, 25 Sep 2015 11:20:32 +0100 From: "Daniel P. Berrange" Message-ID: <20150925102032.GA13579@redhat.com> References: <1442582350-9179-1-git-send-email-berrange@redhat.com> <56014838.6020109@redhat.com> <20150924145153.GH31980@redhat.com> <56051F5D.5020601@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <56051F5D.5020601@redhat.com> Subject: Re: [Qemu-devel] [PATCH v1 00/16] Introduce I/O channels framework Reply-To: "Daniel P. Berrange" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: Gerd Hoffmann , "Dr. David Alan Gilbert" , qemu-devel@nongnu.org On Fri, Sep 25, 2015 at 12:18:05PM +0200, Paolo Bonzini wrote: > > > On 24/09/2015 16:51, Daniel P. Berrange wrote: > > Thanks, I'd still love one or more people to do a detailed review of > > the I/O channel implementations before I think about sending a PULL > > request, since there's a fair amount of code in there.... > > I did a review of the file, socket, command and buffer code. I made > another small suggestion regarding error checking. > > The command code could add support for shutdown by closing the parent's > end of the pipe. It can be useful to avoid deadlocks in bidirectional > pipes. Hmm, yes, good idea. > > I'm curious now as to which bit you might be refering to here :-) IIRC > > the only place I had any interaction with coroutines was the migration > > code QEMUFile implementation, where I need to yield when reads block. > > I think it was NBD. Ah ok. I did start looking at NBD but got scared by all the AIO context handling & event loop integration, which is somewhat different from just being able to register with gmainloop directly. So that's still something I need to explore.... 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 :|