On Thursday 06 September 2007, Lapo Luchini wrote:
> I noticed that cow adds space also if the written data is the same as
> the one it was there already.
> Is there a reason why checking it would be bad/difficult/slow/other?
> Simply no one had the will to code the check?

Simply that your operation is not very common, and checking every time would 
put read overhead on top of write overhead. If you want to check, feel free 
to check prior to issuing the write. ;)

> I ask because for shrinking drives I usually create big zero-filled
> files... and this grows the qcow2 image like mad, and only a compressed
> convert can properly shrink it back. OK, it is not to be done very very
> often, but not copying those writes that don't actually change the data
> seems like a good idea... don't know about the speed hit, though.

I think it's logical to require an explicit conversion when you want to 
shrink.

> Another idea would be to detect "only zero" write blocks and simply
> interpret them as "put a hole in the sparse file" instead of actually
> writing data to disk.

I don't believe it's possible to make holes in sparse files explicitly.
The libc/OS only support it transparently when you jump to the end of a file 
and begin writing there.



Reply via email to