On 10/25/2010 08:06 AM, Richard W.M. Jones wrote:
>> Only step 4 is timed. I ran the program against test.img prepared in
>> 4 different ways:
>>
>> 1. A sparse raw file:                            15.3 seconds
>>     truncate --size 300M test.img
>> 2. A preallocated raw file:                      14.8 seconds
>>     fallocate -l 300M test.img
>> 3. A sparse qcow2 file:                         223.0 seconds
>>     qemu-img create -f qcow2 test.img 300M
>> 4. A metadata preallocated qcow2 file:                14.5 seconds
>>     qemu-img create -f qcow2 -o preallocated=metadata test.img 300M
>>

>> libvirt's qemu driver doesn't currently preallocate qcow2 metadata
>> when creating a new image. Given the tiny disk space overhead of the
>> metadata (0.02%) and the small processing overhead of pre-creation
>> relative to subsequent creation on-the-fly, I suggest that the
>> libvirt qemu driver is updated to pre-allocate metadata by default.
>>
>> Thoughts?
> 
> Your test might run faster if you did:
> 
>   $g->copy_size ("/dev/zero", "/test", <size of file>);
> 
> However I think making the change is a no-brainer.  We should add this
> flag by default.

Is this something that we should just globally enable if qemu supports
it, or do we need some XML tunable to allow someone to skip the
pre-allocation for some reason?

-- 
Eric Blake   ebl...@redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to