Hi,
The cluster_size got from backup_calculate_cluster_size(),
MAX(BACKUP_CLUSTER_SIZE_DEFAULT, bdi.cluster_size), is 64K regardless
of the target image's cluster size.
For example:
If the cluster size of source and target qcow2 images are both 16K, the
64K from backup_calculate_cluster_size() results in unwanted copies of
clusters.
The behavior slows down the backup (block-copy) process when the
source image receives lots of rand writes.
Is the following calculation reasonable for the above issue?
```
static int64_t backup_calculate_cluster_size(BlockDriverState *target,
Error **errp)
{
...
ret = bdrv_get_info(target, &bdi);
...
return (bdi.cluster_size == 0 ?
BACKUP_CLUSTER_SIZE_DEFAULT : cluster_size);
}
```
Thanks.
Regards,
Derek