On Sat, May 28, 2011 at 11:47:16AM +0100, Alex Bligh wrote:
> Wouter,
> 
> --On 28 May 2011 12:12:14 +0200 Wouter Verhelst <[email protected]> wrote:
> 
> > What about a hash table instead? There's a GHashTable in libglib-2.0,
> > which we're already using.
> 
> That looks promising.
> 
> > That would also allow reusing the original
> > handle number, which would make it slightly easier to match against
> > what's in the transaction log.
> 
> That won't work. Consider the original sequence
>       Request         Reply
>       H1
>       H2
>                       H2
>                       H1
>       H1
>                       H1
> 
> where H1 gets reused. I could (in fact probably would) replay this as
>       Request         Reply
>       H1
>       H2
>       H1
>                       H2
>                       H1
>                       H1

Point; hadn't thought of that.

> in which case there are 2 H1s in flight, and I won't be able to match
> up the replies.
> 
> I could however use (e.g.) the seek offset as the handle, and store
> the original handle.

There's nothing to say that the seek offset won't be duplicated, either.
Probably best to create our own handles, indeed.

-- 
The volume of a pizza of thickness a and radius z can be described by
the following formula:

pi zz a

------------------------------------------------------------------------------
vRanger cuts backup time in half-while increasing security.
With the market-leading solution for virtual backup and recovery, 
you get blazing-fast, flexible, and affordable data protection.
Download your free trial now. 
http://p.sf.net/sfu/quest-d2dcopy1
_______________________________________________
Nbd-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/nbd-general

Reply via email to