[libvirt] [PATCH v3 2/7] migration: add compress method option
Nikolay Shirokovskiy
nshirokovskiy at virtuozzo.com
Mon Feb 8 06:30:36 UTC 2016
On 05.02.2016 18:34, Jiri Denemark wrote:
> I still think that to enable migration in a nice backward compatible
> way, a user should use VIR_MIGRATE_COMPRESSED flag *and* optionally
> select the compression algorithm(s) via VIR_MIGRATE_PARAM_COMPRESSION
> parameter. If VIR_MIGRATE_PARAM_COMPRESSION is not used, the hypervisor
> (driver) will choose a default method.
>
> On Thu, Jan 28, 2016 at 10:04:28 +0300, Nikolay Shirokovskiy wrote:
>> Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy at virtuozzo.com>
>> ---
>> include/libvirt/libvirt-domain.h | 13 +++++-
>> src/qemu/qemu_driver.c | 75 +++++++++++++++++++++++++++++---
>> src/qemu/qemu_migration.c | 94 ++++++++++++++++++++++++++++------------
>> src/qemu/qemu_migration.h | 16 +++++++
>> src/qemu/qemu_monitor.c | 2 +-
>> src/qemu/qemu_monitor.h | 1 +
>> 6 files changed, 166 insertions(+), 35 deletions(-)
>>
>> diff --git a/include/libvirt/libvirt-domain.h b/include/libvirt/libvirt-domain.h
>> index 65f1618..e868515 100644
>> --- a/include/libvirt/libvirt-domain.h
>> +++ b/include/libvirt/libvirt-domain.h
>> @@ -655,7 +655,7 @@ typedef enum {
>> * when supported */
>> VIR_MIGRATE_UNSAFE = (1 << 9), /* force migration even if it is considered unsafe */
>> VIR_MIGRATE_OFFLINE = (1 << 10), /* offline migrate */
>> - VIR_MIGRATE_COMPRESSED = (1 << 11), /* compress data during migration */
>> + VIR_MIGRATE_COMPRESSED = (1 << 11), /* use default compression method */
>
> I'd imagine something like "compress data during migration using a
> method selected by the hypervisor or via VIR_MIGRATE_PARAM_COMPRESSION
> parameter.
ok
>> +static int
>> +qemuGetCompression(virTypedParameterPtr params, int nparams,
>> + unsigned int flags,
>> + qemuMigrationCompressionPtr compression)
>> +{
>> + size_t i;
>> +
>> + memset(compression, 0, sizeof(*compression));
>
> Hmm, I think qemuMigrationCompression structure should be allocated on
> the heap (rather than on the stack) and the allocator would also take
> care of setting appropriate "unspecified" values. And please, move these
> migration related functions in qemu_migrate.c.
ok
>
> Jirka
>
More information about the libvir-list
mailing list