summary refs log tree commit diff stats
path: root/qga/commands-posix.c
diff options
context:
space:
mode:
authorLeonardo Bras <leobras@redhat.com>2022-07-19 09:23:45 -0300
committerDr. David Alan Gilbert <dgilbert@redhat.com>2022-07-20 12:15:09 +0100
commit90eb69e4f1a16b388d0483543bf6bfc69a9966e4 (patch)
tree641c34dfc8e53bda22e122b9c7ea571224dc5f05 /qga/commands-posix.c
parent4a8f19c95cf55aec5f63c64bd0a67f65a27c43de (diff)
downloadfocaccia-qemu-90eb69e4f1a16b388d0483543bf6bfc69a9966e4.tar.gz
focaccia-qemu-90eb69e4f1a16b388d0483543bf6bfc69a9966e4.zip
migration: Avoid false-positive on non-supported scenarios for zero-copy-send
Migration with zero-copy-send currently has it's limitations, as it can't
be used with TLS nor any kind of compression. In such scenarios, it should
output errors during parameter / capability setting.

But currently there are some ways of setting this not-supported scenarios
without printing the error message:

!) For 'compression' capability, it works by enabling it together with
zero-copy-send. This happens because the validity test for zero-copy uses
the helper unction migrate_use_compression(), which check for compression
presence in s->enabled_capabilities[MIGRATION_CAPABILITY_COMPRESS].

The point here is: the validity test happens before the capability gets
enabled. If all of them get enabled together, this test will not return
error.

In order to fix that, replace migrate_use_compression() by directly testing
the cap_list parameter migrate_caps_check().

2) For features enabled by parameters such as TLS & 'multifd_compression',
there was also a possibility of setting non-supported scenarios: setting
zero-copy-send first, then setting the unsupported parameter.

In order to fix that, also add a check for parameters conflicting with
zero-copy-send on migrate_params_check().

3) XBZRLE is also a compression capability, so it makes sense to also add
it to the list of capabilities which are not supported with zero-copy-send.

Fixes: 1abaec9a1b2c ("migration: Change zero_copy_send from migration parameter to migration capability")
Signed-off-by: Leonardo Bras <leobras@redhat.com>
Message-Id: <20220719122345.253713-1-leobras@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Diffstat (limited to 'qga/commands-posix.c')
0 files changed, 0 insertions, 0 deletions