Re: [Qemu-devel] [PATCH] [RFC] libqblock draft code v1

2012-08-03 Thread Wenchao Xia
于 2012-8-2 19:13, Paolo Bonzini 写道: Il 02/08/2012 13:11, Daniel P. Berrange ha scritto: Please include GPLv2+ license headers in new source files you create. See existing code like include/qemu/object.h for the license header text. Actually, LGPLv2+ (or compatible, like BSD), if you plan on ma

Re: [Qemu-devel] [PATCH] [RFC] libqblock draft code v1

2012-08-02 Thread Paolo Bonzini
Il 02/08/2012 13:11, Daniel P. Berrange ha scritto: >>> > > Please include GPLv2+ license headers in new source files you create. >>> > > See existing code like include/qemu/object.h for the license header >>> > > text. >> > >> > Actually, LGPLv2+ (or compatible, like BSD), if you plan on making t

Re: [Qemu-devel] [PATCH] [RFC] libqblock draft code v1

2012-08-02 Thread Daniel P. Berrange
On Wed, Aug 01, 2012 at 07:25:54AM -0600, Eric Blake wrote: > On 08/01/2012 06:49 AM, Stefan Hajnoczi wrote: > > On Wed, Aug 1, 2012 at 10:09 AM, Wenchao Xia > > wrote: > >> This patch encapsulate qemu general block layer to provide block > >> services. API are declared in libqblock.h. libqbloc

Re: [Qemu-devel] [PATCH] [RFC] libqblock draft code v1

2012-08-02 Thread Paolo Bonzini
Il 02/08/2012 12:17, Stefan Hajnoczi ha scritto: >> > Main purpose of it is to set ret to err_v when memory is not enough, >> > I am not sure how to make this happens for every strdup. > Eric pointed out that we cannot use g_strdup() because it aborts on > memory allocation failure, so please ign

Re: [Qemu-devel] [PATCH] [RFC] libqblock draft code v1

2012-08-02 Thread Stefan Hajnoczi
On Thu, Aug 02, 2012 at 10:59:20AM +0200, Paolo Bonzini wrote: > Il 02/08/2012 09:57, Wenchao Xia ha scritto: > >>> +int qbi_init(struct QBlockInfo *info) > >> > >> Should return void. > >> > > yes, it is useless now, but maybe in future it may fail. Returning > > int for every API results in onl

Re: [Qemu-devel] [PATCH] [RFC] libqblock draft code v1

2012-08-02 Thread Stefan Hajnoczi
On Wed, Aug 01, 2012 at 07:25:54AM -0600, Eric Blake wrote: > On 08/01/2012 06:49 AM, Stefan Hajnoczi wrote: > > On Wed, Aug 1, 2012 at 10:09 AM, Wenchao Xia > > wrote: > >> This patch encapsulate qemu general block layer to provide block > >> services. API are declared in libqblock.h. libqbloc

Re: [Qemu-devel] [PATCH] [RFC] libqblock draft code v1

2012-08-02 Thread Stefan Hajnoczi
On Thu, Aug 02, 2012 at 04:18:55PM +0800, Wenchao Xia wrote: > 于 2012-8-1 20:49, Stefan Hajnoczi 写道: > >On Wed, Aug 1, 2012 at 10:09 AM, Wenchao Xia > >wrote: > >> This patch encapsulate qemu general block layer to provide block > >>services. API are declared in libqblock.h. libqblock-test.c >

Re: [Qemu-devel] [PATCH] [RFC] libqblock draft code v1

2012-08-02 Thread Paolo Bonzini
Il 02/08/2012 10:32, Wenchao Xia ha scritto: >> >> ssize_t qb_read(struct QBlockState *qbs, void *buf, size_t len, off_t >> offset) >> > OK. > >>> +{ >>> +int ret; >>> +BlockDriverState *bs; >>> + >>> +bs = (BlockDriverState *)qbs->bdrvs; >>> + >>> +ret = bdrv_read(bs, start / 5

Re: [Qemu-devel] [PATCH] [RFC] libqblock draft code v1

2012-08-02 Thread Paolo Bonzini
Il 02/08/2012 09:57, Wenchao Xia ha scritto: >>> +/* try string dup and check if it succeed, dest would be freed >>> before dup */ >>> +#define SAFE_STRDUP(dest, src, ret, err_v) { \ >>> +if ((ret) != (err_v)) { \ >>> +if ((dest) != NULL) { \ >>> +FUNC_FREE(dest); \ >>> +

Re: [Qemu-devel] [PATCH] [RFC] libqblock draft code v1

2012-08-02 Thread Wenchao Xia
于 2012-8-2 2:04, Blue Swirl 写道: On Wed, Aug 1, 2012 at 9:09 AM, Wenchao Xia wrote: This patch encapsulate qemu general block layer to provide block services. API are declared in libqblock.h. libqblock-test.c simulate library consumer's behaviors. Make libqblock-test could build the code.

Re: [Qemu-devel] [PATCH] [RFC] libqblock draft code v1

2012-08-02 Thread Wenchao Xia
于 2012-8-1 20:49, Stefan Hajnoczi 写道: On Wed, Aug 1, 2012 at 10:09 AM, Wenchao Xia wrote: This patch encapsulate qemu general block layer to provide block services. API are declared in libqblock.h. libqblock-test.c simulate library consumer's behaviors. Make libqblock-test could build the co

Re: [Qemu-devel] [PATCH] [RFC] libqblock draft code v1

2012-08-02 Thread Wenchao Xia
于 2012-8-1 18:44, Paolo Bonzini 写道: Il 01/08/2012 11:09, Wenchao Xia ha scritto: This patch encapsulate qemu general block layer to provide block services. API are declared in libqblock.h. libqblock-test.c simulate library consumer's behaviors. Make libqblock-test could build the code. For

Re: [Qemu-devel] [PATCH] [RFC] libqblock draft code v1

2012-08-01 Thread Blue Swirl
On Wed, Aug 1, 2012 at 9:09 AM, Wenchao Xia wrote: > This patch encapsulate qemu general block layer to provide block > services. API are declared in libqblock.h. libqblock-test.c > simulate library consumer's behaviors. Make libqblock-test could > build the code. > For easy this patch does no

Re: [Qemu-devel] [PATCH] [RFC] libqblock draft code v1

2012-08-01 Thread Eric Blake
On 08/01/2012 06:49 AM, Stefan Hajnoczi wrote: > On Wed, Aug 1, 2012 at 10:09 AM, Wenchao Xia > wrote: >> This patch encapsulate qemu general block layer to provide block >> services. API are declared in libqblock.h. libqblock-test.c >> simulate library consumer's behaviors. Make libqblock-test

Re: [Qemu-devel] [PATCH] [RFC] libqblock draft code v1

2012-08-01 Thread Stefan Hajnoczi
On Wed, Aug 1, 2012 at 10:09 AM, Wenchao Xia wrote: > This patch encapsulate qemu general block layer to provide block > services. API are declared in libqblock.h. libqblock-test.c > simulate library consumer's behaviors. Make libqblock-test could > build the code. > For easy this patch does n

Re: [Qemu-devel] [PATCH] [RFC] libqblock draft code v1

2012-08-01 Thread Paolo Bonzini
Il 01/08/2012 11:09, Wenchao Xia ha scritto: > This patch encapsulate qemu general block layer to provide block > services. API are declared in libqblock.h. libqblock-test.c > simulate library consumer's behaviors. Make libqblock-test could > build the code. > For easy this patch does not form