[adding qemu-block] On 08/28/2017 12:56 AM, Liu Qing wrote: > Dear list, > Recently I used fio to test qcow2 driver in the guest os, and found out > that when a new cluster is allocated the 4K IO will occupy 64K(default cluster > size) bandwith. > From the code qcow2 driver will fill the unused part of new allocated > cluster with 0 in perform_cow. These 0s are set in qcow2_co_readv when the > read > destination is not allocated and it has no backing file. Could I forbidden any > further write in copy_sectors if the copy source is not allocated and it has > no backing file? So only the requested data is written to the cluster. > Function > copy_sectors is only used by perform_cow in the master branch.
There have already been discussions on optimizing COW writes in a manner similar to what you are describing; for example, https://lists.gnu.org/archive/html/qemu-devel/2017-08/msg00109.html -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature