On Wed 20 Mar 2019 10:16:10 AM CET, Kevin Wolf wrote:
>> Oh, I see. Let's use a shorter chain for simplicity:
>> 
>>    A <- B <- C <- D <- E
>
> Written from right to left, i.e. E being the base and A the top layer?
> We usually write things the other write round, I hope this doesn't get
> too confusing later.

Oh my... yes, of course you're right, I should have written it the other
way around:

   E <- D <- C <- B <- A

>> 1) If we stream first from E to C we add a filter F:
>> 
>>    A <- B <- F <- C <- D <- E

( which should have been written   E <- D <- C <- F <- B <- A )

>>    Now we can't stream from C to A because F is on the way, and the F-C
>>    link is frozen.
>
> Why is a frozen link a problem? The streaming operation isn't going to
> change this link, it just copies data from the subchain (including F
> and C) to A. This is not something that a frozen link should prevent.

Not the operation itself, but the first thing that block-stream does is
freeze the chain from top (A) to base (C), so this would fail if there's
already a frozen link on the way (C <- F on this case?).

> So it seems frozen links allow the wrong case, but block the correct
> one? :-(

Yes, we probably need to rethink this scenario a bit.

Berto

Reply via email to