Am 16.06.2011 14:49, schrieb Avi Kivity:
> On 06/16/2011 03:35 PM, Kevin Wolf wrote:
>> * Image streaming is a normal image file plus copy-on-read plus a
>> background task that copies data from the source image
> 
> Or a block-mirror started in degraded mode.

At least not in the same configuration as with live block copy: You
don't want to write to the source, you only want to read from it when
the destination doesn't have the data yet.

>> * Live block copy is a block-mirror of two normal image files plus a
>> background task that copies data from the source image
> 
> = block-mirror started in degraded mode

>> The right solution is probably to implement COR and the background task
>> in generic block layer code (no reason to restrict it to QED) and use it
>> for both image streaming and live block copy. (This is a bit more
>> complicated than it may sound here because guest writes must always take
>> precedence over a copy - but doing complicated things is an even better
>> reason to do it in a common place instead of duplicating)
> 
> Or in a block-mirror block format driver - generic code need not be 
> involved.

Might be an option. In this case generic code is only involved with the
stacking of BlockDriverStates, which is already implemented (but
requires -blockdev for a sane way to configure things).

Kevin

Reply via email to