From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:49049) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SrWIX-0008E7-VY for qemu-devel@nongnu.org; Wed, 18 Jul 2012 11:36:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SrWIT-0000qw-H8 for qemu-devel@nongnu.org; Wed, 18 Jul 2012 11:36:21 -0400 Received: from mx1.redhat.com ([209.132.183.28]:9866) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SrWIT-0000qX-9W for qemu-devel@nongnu.org; Wed, 18 Jul 2012 11:36:17 -0400 Date: Wed, 18 Jul 2012 16:35:43 +0100 From: "Daniel P. Berrange" Message-ID: <20120718153543.GK2294@redhat.com> References: <4FFAA0C3.3080703@redhat.com> <4FFBB7FB.3070303@linux.vnet.ibm.com> <4FFBD6F1.90403@redhat.com> <20120713091611.GC15503@stefanha-thinkpad.localdomain> <4FFFEF8E.5080705@redhat.com> <50000793.2020401@redhat.com> <5003CDC6.2040103@linux.vnet.ibm.com> <5003CE8B.20804@redhat.com> <500678F7.1030705@linux.vnet.ibm.com> <20120718135846.GE2294@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20120718135846.GE2294@redhat.com> Subject: Re: [Qemu-devel] [RFC] introduce a dynamic library to expose qemu block API Reply-To: "Daniel P. Berrange" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Wenchao Xia Cc: Anthony Liguori , Stefan Hajnoczi , Michael Tokarev , =?utf-8?B?TGx1w61z?= , qemu-devel@nongnu.org, Blue Swirl , Stefan Weil , Hannes Reinecke , Paolo Bonzini On Wed, Jul 18, 2012 at 02:58:46PM +0100, Daniel P. Berrange wrote: > On Wed, Jul 18, 2012 at 04:51:03PM +0800, Wenchao Xia wrote: > > Hi, following is API draft, prototypes were taken from qemu/block.h, > > and the API prefix is changed frpm bdrv to qbdrvs, to declare related > > object is BlockDriverState, not BlockDriver. One issue here is it may > > require include block_int.h, which is not LGPL2 licensed yet. > > API format is kept mostly the same with qemu generic block layer, to > > make it easier for implement, and easier to make qemu migrate on it if > > possible. > > > How is error reporting dealt with, and what is the intent around > thread safety of the APIs ? I'd like to see a fully thread safe > API - multiple threads can use the same 'BlockDriverState *' > concurrently, and thread-local error reporting. Oh, and will this library depend on glib, and will it have the abort-on-oom behaviour QEMU has ? From a libvirt POV, we won't use any library that aborts-on-oom. 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 :|