qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Re: [PATCH] qcow2/virtio corruption: Don't allocate the


From: Kevin Wolf
Subject: Re: [Qemu-devel] Re: [PATCH] qcow2/virtio corruption: Don't allocate the same cluster twice
Date: Wed, 06 May 2009 19:52:44 +0200
User-agent: Thunderbird 2.0.0.21 (X11/20090320)

Avi Kivity schrieb:
> Kevin Wolf wrote:
>> Avi Kivity schrieb:
>>> Also, the second request now depends on the first to update its 
>>> metadata.  But if the first request fail, it will not update its 
>>> metadata, and the second request will complete without error and also 
>>> without updating its metadata.
>>>     
>> Hm, right. Need to think about this...
>>   
> 
> I suggest retaining the part where you use inflight l2metas to layout 
> data contiguously, but change alloc_cluster_link_l2() not to rely on 
> n_start and nb_available but instead recompute them on completion. 
> m->nb_clusters should never be zeroed for this to work.

Is there even a reason why we need to copy the unmodified sectors in
alloc_cluster_link_l2() and cannot do that in alloc_cluster_offset()
before we write the new data? Then the callback wouldn't need to mess
around with figuring out which part must be overwritten and which one
mustn't.

Kevin




reply via email to

[Prev in Thread] Current Thread [Next in Thread]