Re: [Qemu-devel] [PATCH 1/6] libqblock APIs

2012-09-10 Thread Wenchao Xia
> Il 04/09/2012 05:15, Wenchao Xia ha scritto: Can you use GError instead? read through the GError doc, GError is defined as following: struct GError { GQuark domain; gint code; gchar *message; }; I am worried about the message member, I guess program would b

Re: [Qemu-devel] [PATCH 1/6] libqblock APIs

2012-09-04 Thread Paolo Bonzini
Il 04/09/2012 13:35, Eric Blake ha scritto: >> > No, it should be only called once, any other thread should not call >> > it again, will document it. About the multiple thread user case, qemu >> > block layer can't support that now, will fix that later. > What a shame. That makes libraries much

Re: [Qemu-devel] [PATCH 1/6] libqblock APIs

2012-09-04 Thread Eric Blake
On 09/04/2012 12:42 AM, Wenchao Xia wrote: >>> +/** >>> + * libqblock_init: Initialize the library >>> + */ >>> +void libqblock_init(void); >> >> Is this function safe to call more than once? Even tighter, is it safe >> to call this function simultaneously from multiple threads? >> > No, it shou

Re: [Qemu-devel] [PATCH 1/6] libqblock APIs

2012-09-04 Thread Wenchao Xia
于 2012-9-4 14:50, Paolo Bonzini 写道: Il 04/09/2012 05:15, Wenchao Xia ha scritto: Can you use GError instead? read through the GError doc, GError is defined as following: struct GError { GQuark domain; gint code; gchar *message; }; I am worried about the mess

Re: [Qemu-devel] [PATCH 1/6] libqblock APIs

2012-09-04 Thread Paolo Bonzini
Il 04/09/2012 09:05, Wenchao Xia ha scritto: >> That said, QEMU's internal bdrv_is_allocated function does have one not >> entirely appealing property: the block at start + *pnum might have the >> same state as the block at start + *pnum - 1, even if *pnum < length. >> We may want to work around th

Re: [Qemu-devel] [PATCH 1/6] libqblock APIs

2012-09-04 Thread Wenchao Xia
于 2012-9-3 22:05, Paolo Bonzini 写道: Il 03/09/2012 15:56, Eric Blake ha scritto: Exactly how does the *pnum argument work? This interface looks like it isn't fully thought out yet. Either I want to know if a chunk of sectors is allocated (I supply start and length of sectors to check), regardle

Re: [Qemu-devel] [PATCH 1/6] libqblock APIs

2012-09-03 Thread Paolo Bonzini
Il 04/09/2012 05:15, Wenchao Xia ha scritto: >> >> Can you use GError instead? >> > read through the GError doc, GError is defined as following: > struct GError { > GQuark domain; > gint code; > gchar *message; > }; > I am worried about the message member, I guess prog

Re: [Qemu-devel] [PATCH 1/6] libqblock APIs

2012-09-03 Thread Wenchao Xia
Thank u for the careful reviewing of my codes, I will write down the typo errors you mentioned on a note. On 09/03/2012 03:18 AM, Wenchao Xia wrote: This patch contains the major APIs in the library. Important APIs: 1 QBroker. These structure was used to retrieve errors, every thread

Re: [Qemu-devel] [PATCH 1/6] libqblock APIs

2012-09-03 Thread Wenchao Xia
于 2012-9-3 21:18, Paolo Bonzini 写道: Il 03/09/2012 11:18, Wenchao Xia ha scritto: 1 QBroker. These structure was used to retrieve errors, every thread must create one first, Later maybe thread related staff could be added into it. Can you use GError instead? read through the GError doc,

Re: [Qemu-devel] [PATCH 1/6] libqblock APIs

2012-09-03 Thread Blue Swirl
On Mon, Sep 3, 2012 at 9:18 AM, Wenchao Xia wrote: > This patch contains the major APIs in the library. > Important APIs: > 1 QBroker. These structure was used to retrieve errors, every thread must > create one first, Later maybe thread related staff could be added into it. > 2 QBlockState.

Re: [Qemu-devel] [PATCH 1/6] libqblock APIs

2012-09-03 Thread Paolo Bonzini
Il 03/09/2012 15:56, Eric Blake ha scritto: > Exactly how does the *pnum argument work? This interface looks like it > isn't fully thought out yet. Either I want to know if a chunk of > sectors is allocated (I supply start and length of sectors to check), > regardless of how many sectors beyond t

Re: [Qemu-devel] [PATCH 1/6] libqblock APIs

2012-09-03 Thread Eric Blake
On 09/03/2012 03:18 AM, Wenchao Xia wrote: > This patch contains the major APIs in the library. > Important APIs: > 1 QBroker. These structure was used to retrieve errors, every thread must > create one first, Later maybe thread related staff could be added into it. > 2 QBlockState. It stands

Re: [Qemu-devel] [PATCH 1/6] libqblock APIs

2012-09-03 Thread Paolo Bonzini
Il 03/09/2012 11:18, Wenchao Xia ha scritto: > 1 QBroker. These structure was used to retrieve errors, every thread must > create one first, Later maybe thread related staff could be added into it. Can you use GError instead? > 3 QBlockInfoImageStatic. Now it is not folded with location and f

[Qemu-devel] [PATCH 1/6] libqblock APIs

2012-09-03 Thread Wenchao Xia
This patch contains the major APIs in the library. Important APIs: 1 QBroker. These structure was used to retrieve errors, every thread must create one first, Later maybe thread related staff could be added into it. 2 QBlockState. It stands for an block image object. 3 QBlockInfoImageStatic