Am 14.03.2011 17:32, schrieb Chunqiang Tang:
>>> FVD's novel uses of the reference count table reduces the metadata 
> update
>>> overhead down to literally zero during normal execution of a VM. This 
> gets
>>> the bests of QCOW2's reference count table but without its oeverhead. 
> In
>>> FVD, the reference count table is only updated when creating a new
>>> snapshot or deleting an existing snapshot. The reference count table 
> is
>>> never updated during normal execution of a VM.
>>
>> Do you want to send out a break-down of the steps (and cost) involved in 
> doing:
>>
>> 1. Snapshot creation.
>> 2. Snapshot deletion.
>> 3. Opening an image with n snapshots.
> 
> Here is a detailed description. Relevant to the discussion of snapshot, 
> FVD uses a one-level lookup table and a refcount table. FVD’s one-level 
> lookup table is very similar to QCOW2’s two-level lookup table, except 
> that it is much smaller in FVD, and is preallocated and hence contiguous 
> in image.

Does this mean that FVD can't hold VM state of arbitrary size?

> FVD’s refcount table is almost identical to that of QCOW2, but with a key 
> difference. An image consists of an arbitrary number of read-only 
> snapshots, and a single writeable image front, which is the current image 
> state perceived by the VM. Below, I will simply refer to the read-only 
> snapshots as snapshots, and refer to the “writeable image front” as 
> “writeable-front.” QCOW2’s refcount table counts clusters that are used by 
> either read-only snapshots or writeable-front. Because writeable-front 
> changes as the VM runs, QCOW2 needs to update the refcount table on the 
> fast path of normal VM execution. 

Needs to update, but not necessarily on the fast path. Updates can be
delayed and batched.

Kevin

Reply via email to