[pve-devel] drive-mirror to rbd don't do thin provisioning .
Dietmar Maurer
dietmar at proxmox.com
Wed Oct 8 09:03:08 CEST 2014
> It's working fine with backup-restore.
>
> I have check the code of rbd block driver,
>
> and it's seem to miss the bdrv_co_write_zeroes feature.
>
> (Which is not use by backup-restore).
in block/backup.c:
if (buffer_is_zero(iov.iov_base, iov.iov_len)) {
if (job->dump_cb) {
# Note: passing NULL is same as write_zeroes ...
ret = job->dump_cb(job->common.opaque, job->target, start_sec, n, NULL);
}
if (job->target) {
ret = bdrv_co_write_zeroes(job->target, start_sec, n, BDRV_REQ_MAY_UNMAP);
}
and for restore we simply skip regions with zero (sparse file).
> Dietmar, could you confirm that bdrv_co_write_zeroes could be the problem ?
>
> (I think you have a better understanding of this code ?)
Sorry, but I don't really understand the code in block/mirror.c. But I cannot see any
code to handle zero regions ...
> I'll ask to the ceph and qemu mailing, but I would like to have confirmation
> before ask.
Yes, please ask there.
More information about the pve-devel
mailing list