On 05.05.2015 15:18, Vasiliy Tolstov wrote:
As i see in some cases, for example in case of lvm storage pool
libvirt spawns libvirt_iohelper to upload or download data to volume.
But in case of big data contains zeroes this is wast bw of network.
May be we can use gzip or lz4 for compression stream?
How the best do this not breaking exiting software?
May be add new parameter to libvirt_iohelper with compression method
and compression level? In my cases of 20-160 Gb data and used only 4-5
Gb this provide major benefit....
Thanks!
The main benefit of using iohelper is that we have aligned reads from
disks and thus can use O_DIRECT flag. So if anything, any compression
must be put in between iohelper and the daemon which then resends data
to clients.
Unfortunately, we don't have a field in the API signature that can be
used to select desired algorithm. We have @flags which could be used to
enable compression. Which algorithm to use can be set in a config file
(libvirtd.conf seems most suitable).
Michal