]> xenbits.xensource.com Git - libvirt.git/log
libvirt.git
7 years agoqemu: deprecate QEMU_CAPS_SECCOMP_SANDBOX
Ján Tomko [Thu, 29 Mar 2018 10:51:55 +0000 (12:51 +0200)]
qemu: deprecate QEMU_CAPS_SECCOMP_SANDBOX

Implied by QEMU >= 1.2.0.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
7 years agoqemu: deprecate QEMU_CAPS_NETDEV_BRIDGE
Ján Tomko [Thu, 29 Mar 2018 10:51:55 +0000 (12:51 +0200)]
qemu: deprecate QEMU_CAPS_NETDEV_BRIDGE

Unused since commit <2d80fbb1>.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
7 years agoqemu: deprecate QEMU_CAPS_WAKEUP
Ján Tomko [Thu, 29 Mar 2018 10:51:55 +0000 (12:51 +0200)]
qemu: deprecate QEMU_CAPS_WAKEUP

Implied by QEMU >= 1.2.0.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
7 years agoqemu: deprecate QEMU_CAPS_DRIVE_IOTUNE
Ján Tomko [Thu, 29 Mar 2018 10:51:55 +0000 (12:51 +0200)]
qemu: deprecate QEMU_CAPS_DRIVE_IOTUNE

Implied by QEMU >= 1.2.0.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
7 years agoqemu: deprecate QEMU_CAPS_FSDEV_WRITEOUT
Ján Tomko [Thu, 29 Mar 2018 10:51:55 +0000 (12:51 +0200)]
qemu: deprecate QEMU_CAPS_FSDEV_WRITEOUT

Implied by QEMU >= 1.2.0.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
7 years agoqemu: deprecate QEMU_CAPS_DRIVE_COPY_ON_READ
Ján Tomko [Thu, 29 Mar 2018 10:51:55 +0000 (12:51 +0200)]
qemu: deprecate QEMU_CAPS_DRIVE_COPY_ON_READ

Implied by QEMU >= 1.2.0.

Also delete the now redundant disk-drive-copy-on-read test.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
7 years agoqemu: deprecate QEMU_CAPS_FSDEV_READONLY
Ján Tomko [Thu, 29 Mar 2018 10:51:55 +0000 (12:51 +0200)]
qemu: deprecate QEMU_CAPS_FSDEV_READONLY

Implied by QEMU >= 1.2.0.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
7 years agoqemu: Rename qemuMonitorGetObjectProps to qemuMonitorGetDeviceProps
Michal Privoznik [Thu, 12 Apr 2018 11:27:54 +0000 (13:27 +0200)]
qemu: Rename qemuMonitorGetObjectProps to qemuMonitorGetDeviceProps

This function is indeed getting -device properties and not
-object properties. The current name is misleading.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
7 years agoqemuxml2xmltest: Add status XML tests for migration params
Jiri Denemark [Mon, 19 Mar 2018 13:57:09 +0000 (14:57 +0100)]
qemuxml2xmltest: Add status XML tests for migration params

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Don't delete TLS objects unless TLS migration was requested
Jiri Denemark [Wed, 21 Mar 2018 13:57:44 +0000 (14:57 +0100)]
qemu: Don't delete TLS objects unless TLS migration was requested

Trying to delete the non-existent TLS objects results in ugly error
messages in the log, which could easily confuse users. Let's avoid this
confusion by not trying to delete the objects if we were not asked to
enable TLS migration and thus we didn't created the objects anyway.

This patch restores the behavior to the state before "qemu: Reset all
migration parameters".

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Store API flags for async jobs in status XML
Jiri Denemark [Wed, 21 Mar 2018 12:23:40 +0000 (13:23 +0100)]
qemu: Store API flags for async jobs in status XML

This will help us decide what to do when libvirtd is restarted while an
async job is running.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Drop priv->job.postcopyEnabled bool
Jiri Denemark [Wed, 21 Mar 2018 13:22:45 +0000 (14:22 +0100)]
qemu: Drop priv->job.postcopyEnabled bool

We store the flags passed to the API which started the migration. Let's
use them instead of a separate bool to check if post-copy migration was
requested.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Drop priv->job.dump_memory_only bool
Jiri Denemark [Wed, 4 Apr 2018 10:24:29 +0000 (12:24 +0200)]
qemu: Drop priv->job.dump_memory_only bool

We store the flags passed to the API which started QEMU_ASYNC_JOB_DUMP
and we can use them to check whether a memory-only dump is running.
There's no need for a specific bool flag.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Properly avoid cancelling memory-only dump
Jiri Denemark [Wed, 4 Apr 2018 10:11:38 +0000 (12:11 +0200)]
qemu: Properly avoid cancelling memory-only dump

migrate_cancel QMP command cannot be used for cancelling memory-only
dumps and priv->job.dump_memory_only is used for reporting an error if
someone calls virDomainAbortJob when memory-only dump job is running.

Since commit 150930e3098 the dump_memory_only flag is set only if
dump-guest-memory command was called without the detach parameter. This
would incorrectly allow libvirt to send migrate_cancel while the
detached memory-only dump is running.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Store API flags for async jobs in qemuDomainJobObj
Jiri Denemark [Wed, 21 Mar 2018 12:01:59 +0000 (13:01 +0100)]
qemu: Store API flags for async jobs in qemuDomainJobObj

When an async job is running, we sometimes need to know how it was
started to distinguish between several types of the job, e.g., post-copy
vs. normal migration. So far we added a specific bool item to
qemuDomainJobObj for such cases, which doesn't scale very well and
storing such bools in status XML would be painful so we didn't do it.

A better approach is to store the flags passed to the API which started
the async job, which can be easily stored in status XML.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemumigparamstest: Add test data for TLS parameters
Jiri Denemark [Mon, 19 Mar 2018 22:42:01 +0000 (23:42 +0100)]
qemumigparamstest: Add test data for TLS parameters

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemumigparamstest: Add basic test data
Jiri Denemark [Mon, 19 Mar 2018 22:46:46 +0000 (23:46 +0100)]
qemumigparamstest: Add basic test data

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agotests: Add tests for QEMU migration parameters
Jiri Denemark [Mon, 19 Mar 2018 22:45:51 +0000 (23:45 +0100)]
tests: Add tests for QEMU migration parameters

This is an enhanced replacement for the original test from
qemumonitorjsontest which was dropped earlier in this series. More data
files with some real data will be added in the following patches.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Properly reset migration params when libvirtd restarts
Jiri Denemark [Tue, 13 Mar 2018 15:08:49 +0000 (16:08 +0100)]
qemu: Properly reset migration params when libvirtd restarts

To be able to restore all migration parameters when libvirtd is
restarting during an active migration job, we need to store the original
values of all parameters (stored in priv->job.migParams) in the status
XML.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Set migration parameters automatically
Jiri Denemark [Fri, 16 Mar 2018 12:05:08 +0000 (13:05 +0100)]
qemu: Set migration parameters automatically

Most QEMU migration parameters directly correspond to
VIR_MIGRATE_PARAM_* typed parameters and qemuMigrationParamsFromFlags
can automatically set them according to a static mapping between libvirt
and QEMU parameters.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Generalize qemuMigrationParamsGetDowntimeLimit
Jiri Denemark [Fri, 16 Mar 2018 10:56:21 +0000 (11:56 +0100)]
qemu: Generalize qemuMigrationParamsGetDowntimeLimit

The API is renamed as qemuMigrationParamsGetULL and it can be used with
any migration parameter stored as unsigned long long.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Check remote caps when enabling always-on capabilities
Jiri Denemark [Fri, 6 Apr 2018 12:02:04 +0000 (14:02 +0200)]
qemu: Check remote caps when enabling always-on capabilities

When an always-on migration capability is supposed to be enabled on both
sides of migration, each side can only enable the feature if it is
enabled by the other side.

Thus the source host sends a list of supported migration capabilities in
the migration cookie generated in the Begin phase. The destination host
consumes the list in the Prepare phase and decides what capabilities can
be enabled when starting a QEMU process for incoming migration. Once
done the destination sends the list of supported capabilities back to
the source where it is used during the Perform phase to determine what
capabilities can be automatically enabled.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Add support for sending capabilities in migration cookie
Jiri Denemark [Fri, 6 Apr 2018 08:18:52 +0000 (10:18 +0200)]
qemu: Add support for sending capabilities in migration cookie

Some migration capabilities may be enabled automatically, but only if
both sides of migration support them. Thus we need to be able transfer
the list of supported migration capabilities in migration cookie.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Move qemuMonitorMigrationCaps enum
Jiri Denemark [Thu, 5 Apr 2018 20:17:26 +0000 (22:17 +0200)]
qemu: Move qemuMonitorMigrationCaps enum

Since the monitor code no longer needs to see this enum, we move it
to the place where migration parameters are defined and drop the
"monitor" reference from the name.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Move migration capabilities JSON formatting
Jiri Denemark [Thu, 5 Apr 2018 18:59:07 +0000 (20:59 +0200)]
qemu: Move migration capabilities JSON formatting

We want to have all migration capabilities parsing and formatting at one
place, i.e., in qemu_migration_params.c. The parsing is already there in
qemuMigrationCapsCheck.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Refactor qemuMigrationParams
Jiri Denemark [Wed, 28 Mar 2018 16:25:58 +0000 (18:25 +0200)]
qemu: Refactor qemuMigrationParams

Adding support for new migration parameter requires a lot of places to
be changed (most likely by copy&paste engineering): new variables to
store the parameter value and the associated *_set bool, JSON formatter
and parser, XML formatter and parser (to be added soon), and the actual
code to set the parameter. It's pretty easy to forget about some of the
places which need to be updated and end up with incorrect support. The
goal of this patch is to let most of the places do their job without any
modifications when new parameters are added.

To achieve the goal, a new qemuMigrationParam enum is introduced and all
parameters are stored in an array indexed by the items of this enum.
This will also allow us to automatically set the migration parameters
which directly correspond to libvirt's typed parameters accepted by
virDomainMigrate* APIs.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Move qemuMonitorMigrationParams structure
Jiri Denemark [Thu, 15 Mar 2018 19:24:55 +0000 (20:24 +0100)]
qemu: Move qemuMonitorMigrationParams structure

It's no longer used by the monitor code so we can hide it inside
qemu_migration_params.c.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Export qemuMigrationParams{To,From}JSON for tests
Jiri Denemark [Mon, 19 Mar 2018 22:44:53 +0000 (23:44 +0100)]
qemu: Export qemuMigrationParams{To,From}JSON for tests

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Move migration parameters JSON formatting
Jiri Denemark [Thu, 15 Mar 2018 19:24:05 +0000 (20:24 +0100)]
qemu: Move migration parameters JSON formatting

We want to have all migration parameters parsing and formatting at one
place, i.e., in qemu_migration_params.c.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Move migration parameters JSON parsing
Jiri Denemark [Thu, 15 Mar 2018 17:06:01 +0000 (18:06 +0100)]
qemu: Move migration parameters JSON parsing

We want to have all migration parameters parsing and formatting at once
place, i.e., in qemu_migration_params.c.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoutil: Introduce virJSONValueObjectStealObject
Jiri Denemark [Wed, 28 Mar 2018 07:01:30 +0000 (09:01 +0200)]
util: Introduce virJSONValueObjectStealObject

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemumonitorjsontest: Drop migration params test
Jiri Denemark [Thu, 15 Mar 2018 10:50:36 +0000 (11:50 +0100)]
qemumonitorjsontest: Drop migration params test

The test is mostly useless and we want to refactor migration parameters
even further. The refactoring will allow us to introduce enhanced tests
for migration parameters.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Limit usage of qemuMonitorMigrationParams
Jiri Denemark [Thu, 15 Mar 2018 10:39:50 +0000 (11:39 +0100)]
qemu: Limit usage of qemuMonitorMigrationParams

Use this internal structure only in qemu_migration_params.c and change
other non-test users to use the high level qemuMigrationParams struct.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Introduce qemuMigrationParamsFetch
Jiri Denemark [Thu, 15 Mar 2018 10:27:07 +0000 (11:27 +0100)]
qemu: Introduce qemuMigrationParamsFetch

Let's separate the code which queries QEMU for migration parameters from
qemuMigrationParamsCheck into a dedicated function.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Drop qemuMigrationCompression structure
Jiri Denemark [Fri, 9 Mar 2018 16:30:16 +0000 (17:30 +0100)]
qemu: Drop qemuMigrationCompression structure

By merging qemuMigrationAnyCompressionParse into
qemuMigrationParamsSetCompression we can drop the useless intermediate
qemuMigrationCompression structure and parse compression related typed
parameters and flags directly into qemuMigrationParams.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Replace qemuMigrationAnyCompressionDump
Jiri Denemark [Mon, 12 Mar 2018 14:50:06 +0000 (15:50 +0100)]
qemu: Replace qemuMigrationAnyCompressionDump

Since every parameter or capability set in qemuMigrationCompression
structure is now reflected in qemuMigrationParams structure, we can
replace qemuMigrationAnyCompressionDump with a new API which will work
on qemuMigrationParams.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Hide qemuMigrationParamsSetCompression
Jiri Denemark [Mon, 12 Mar 2018 14:20:54 +0000 (15:20 +0100)]
qemu: Hide qemuMigrationParamsSetCompression

There's no need to call this API explicitly in the migration code. We
can pass the compression parameters to qemuMigrationParamsFromFlags and
it can internally call qemuMigrationParamsSetCompression to apply them
to the qemuMigrationParams structure.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Move qemuMigrationAnyCompression*
Jiri Denemark [Mon, 12 Mar 2018 13:19:56 +0000 (14:19 +0100)]
qemu: Move qemuMigrationAnyCompression*

The code really belongs to qemu_migration_params.c.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Move qemuMigrationParamsSetCompression
Jiri Denemark [Tue, 27 Mar 2018 21:41:39 +0000 (23:41 +0200)]
qemu: Move qemuMigrationParamsSetCompression

The API will soon be called from qemuMigrationParamsFromFlags. Let's
move it to avoid the need to add a forward declaration.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Drop qemuMigrationParamsSetCapability
Jiri Denemark [Tue, 27 Mar 2018 21:41:10 +0000 (23:41 +0200)]
qemu: Drop qemuMigrationParamsSetCapability

It's become only a tiny wrapper around virBitmapSetBit, which can easily
be called directly. We don't need to call virBitmapClearBit since
migParams->caps bitmap is initialized with zeros.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Generalize macro for getting VIR_MIGRATE_* typed params
Jiri Denemark [Fri, 9 Mar 2018 16:17:01 +0000 (17:17 +0100)]
qemu: Generalize macro for getting VIR_MIGRATE_* typed params

So far it's used only for CPU throttling parameters which are all ints,
but we'll soon want to use it for more parameters with different types.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Call qemuMigrationAnyCompressionParse only from driver
Jiri Denemark [Mon, 12 Mar 2018 15:22:11 +0000 (16:22 +0100)]
qemu: Call qemuMigrationAnyCompressionParse only from driver

Propagate the calls up the stack to the point where
qemuMigrationParamsFromFlags is called. The end goal achieved in the
following few patches is to merge compression parameters into the
general migration parameters code.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Set migration capabilities automatically
Jiri Denemark [Wed, 7 Mar 2018 20:28:54 +0000 (21:28 +0100)]
qemu: Set migration capabilities automatically

Most migration capabilities are directly connected with
virDomainMigrateFlags so qemuMigrationParamsFromFlags can automatically
enable them.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Set always-on migration caps in ParamsCheck
Jiri Denemark [Wed, 7 Mar 2018 14:59:42 +0000 (15:59 +0100)]
qemu: Set always-on migration caps in ParamsCheck

Some migration capabilities are always enabled if QEMU supports them. We
can just drop the explicit code for them and let
qemuMigrationParamsCheck automatically set such capabilities.

QEMU_MONITOR_MIGRATION_CAPS_EVENTS would normally be one of the always
on features, but it is the only feature we want to enable even for other
jobs which internally use migration (such as save and snapshot). Hence
this capability is set very early after libvirtd connects to QEMU
monitor.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Drop qemuMigrationParamsSetPostCopy
Jiri Denemark [Wed, 7 Mar 2018 14:52:45 +0000 (15:52 +0100)]
qemu: Drop qemuMigrationParamsSetPostCopy

It's just a tiny wrapper around qemuMigrationParamsSetCapability and
setting priv->job.postcopyEnabled is not something qemuMigrationParams
code should be doing anyway so let the callers do it.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Hide qemuMigrationParamsNew
Jiri Denemark [Thu, 8 Mar 2018 14:24:37 +0000 (15:24 +0100)]
qemu: Hide qemuMigrationParamsNew

It is no longer used outside qemu_migration_params.c.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Use qemuMigrationParamsFromFlags everywhere
Jiri Denemark [Wed, 7 Mar 2018 14:32:26 +0000 (15:32 +0100)]
qemu: Use qemuMigrationParamsFromFlags everywhere

Every migration entry point in qemu_driver is supposed to call
qemuMigrationParamsFromFlags to transform flags and parameters into
qemuMigrationParams structure and pass the result to qemuMigration*
APIs.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Introduce qemuMigrationParty enum
Jiri Denemark [Fri, 9 Mar 2018 10:23:49 +0000 (11:23 +0100)]
qemu: Introduce qemuMigrationParty enum

Some migration parameters and capabilities are supposed to be set on
both sides of migration while others should only be set on one side. For
example, CPU throttling parameters make no sense on the destination and
they can be used even if the destination is too old to support them.

To make qemuMigrationParamsFromFlags more general and usable on both
sides of migration, we need to tell it what side it's been called on.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Check supported caps in qemuMigrationParamsCheck
Jiri Denemark [Wed, 7 Mar 2018 09:45:18 +0000 (10:45 +0100)]
qemu: Check supported caps in qemuMigrationParamsCheck

Instead of checking each capability at the time we want to set it in
qemuMigrationParamsSetCapability we can check all of them at once in
qemuMigrationParamsCheck.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Move ParamsCheck closer to ParamsApply on Src side
Jiri Denemark [Wed, 7 Mar 2018 13:43:23 +0000 (14:43 +0100)]
qemu: Move ParamsCheck closer to ParamsApply on Src side

We reached the point when qemuMigrationParamsApply is the only API which
sends migration parameters and capabilities to QEMU. Thus all but the
TLS parameters can be set before we ask QEMU for the current values of
all parameters in qemuMigrationParamsCheck.

Supported migration capabilities are queried as soon as libvirt connects
to QEMU monitor so we can check them anytime.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Move ParamsCheck closer to ParamsApply on Dst side
Jiri Denemark [Wed, 7 Mar 2018 13:43:23 +0000 (14:43 +0100)]
qemu: Move ParamsCheck closer to ParamsApply on Dst side

We reached the point when qemuMigrationParamsApply is the only API which
sends migration parameters and capabilities to QEMU. Thus all but the
TLS parameters can be set before we ask QEMU for the current values of
all parameters in qemuMigrationParamsCheck.

Supported migration capabilities are queried as soon as libvirt connects
to QEMU monitor so we can check them anytime.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Set XBZRLE cache size via migration parameters
Jiri Denemark [Thu, 1 Mar 2018 10:28:05 +0000 (11:28 +0100)]
qemu: Set XBZRLE cache size via migration parameters

Prefer xbzrle-cache-size migration parameter over the special
migrate-set-cache-size QMP command.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Add support for xbzrle-cache-size migration parameter
Jiri Denemark [Wed, 8 Nov 2017 12:46:03 +0000 (13:46 +0100)]
qemu: Add support for xbzrle-cache-size migration parameter

Originally QEMU provided query-migrate-cache-size and
migrate-set-cache-size QMP commands for querying/setting XBZRLE cache
size. In version 2.11 QEMU added support for XBZRLE cache size to the
general migration paramaters commands.

This patch adds support for this parameter to libvirt to make sure it is
properly restored to its original value after a failed or aborted
migration.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Drop unused qemuMonitorSetMigrationCapability
Jiri Denemark [Thu, 1 Mar 2018 08:28:24 +0000 (09:28 +0100)]
qemu: Drop unused qemuMonitorSetMigrationCapability

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Do not use qemuMonitorSetMigrationCapability
Jiri Denemark [Thu, 1 Mar 2018 09:51:53 +0000 (10:51 +0100)]
qemu: Do not use qemuMonitorSetMigrationCapability

Rework all remaining callers of qemuMonitorSetMigrationCapability to use
the new qemuMonitorSetMigrationCapabilities API.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Set migration caps via migration params APIs
Jiri Denemark [Mon, 26 Feb 2018 14:47:33 +0000 (15:47 +0100)]
qemu: Set migration caps via migration params APIs

Migration capabilities are closely related to migration parameters and
it makes sense to keep them in a single data structure. Similarly to
migration parameters the capabilities are all send to QEMU at once in
qemuMigrationParamsApply, all other APIs operate on the
qemuMigrationParams structure.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Introduce qemuMonitorSetMigrationCapabilities
Jiri Denemark [Thu, 1 Mar 2018 08:26:07 +0000 (09:26 +0100)]
qemu: Introduce qemuMonitorSetMigrationCapabilities

Our current monitor API forces the caller to call
migrate-set-capabilities QMP command for each capability separately,
which is quite suboptimal. Let's add a new API for setting all
capabilities at once.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Hide internals of qemuMigrationParams struct
Jiri Denemark [Wed, 7 Mar 2018 11:38:27 +0000 (12:38 +0100)]
qemu: Hide internals of qemuMigrationParams struct

All users of migration parameters are supposed to use APIs provided by
qemu_migration_params.c without having to worry about the internals.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Rename qemuMigrationParamsSet
Jiri Denemark [Wed, 28 Feb 2018 13:44:12 +0000 (14:44 +0100)]
qemu: Rename qemuMigrationParamsSet

The new name is qemuMigrationParamsApply and it will soon become the
only API which will send all requested migration parameters and
capabilities to QEMU. All other qemuMigrationParams* APIs will just
operate on the qemuMigrationParams structure.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Hide cfg inside qemuMigrationParamsEnableTLS
Jiri Denemark [Wed, 28 Feb 2018 12:08:53 +0000 (13:08 +0100)]
qemu: Hide cfg inside qemuMigrationParamsEnableTLS

There's no real reason for qemuMigrationParamsEnableTLS to require the
callers to pass a valid virQEMUDriverConfigPtr, it can just call
virQEMUDriverGetConfig.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Set tlsHostname inside qemuMigrationParamsEnableTLS
Jiri Denemark [Wed, 28 Feb 2018 11:57:19 +0000 (12:57 +0100)]
qemu: Set tlsHostname inside qemuMigrationParamsEnableTLS

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Rename qemuMigrationParamsAddTLSObjects
Jiri Denemark [Wed, 28 Feb 2018 09:45:07 +0000 (10:45 +0100)]
qemu: Rename qemuMigrationParamsAddTLSObjects

The new name is qemuMigrationParamsEnableTLS.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Rename qemuMigrationParamsSetEmptyTLS
Jiri Denemark [Wed, 28 Feb 2018 08:35:53 +0000 (09:35 +0100)]
qemu: Rename qemuMigrationParamsSetEmptyTLS

The new name is qemuMigrationParamsDisableTLS.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Drop qemuMigrationParamsCheckTLSCreds
Jiri Denemark [Tue, 27 Feb 2018 16:54:08 +0000 (17:54 +0100)]
qemu: Drop qemuMigrationParamsCheckTLSCreds

The function checks whether QEMU supports TLS migration and stores the
original value of tls-creds parameter to priv->migTLSAlias. This is no
longer needed because we already have the original value stored in
priv->migParams.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Drop qemuMigrationParamsCheckSetupTLS
Jiri Denemark [Tue, 27 Feb 2018 16:54:54 +0000 (17:54 +0100)]
qemu: Drop qemuMigrationParamsCheckSetupTLS

The code can be merged directly in qemuMigrationParamsAddTLSObjects.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Reset all migration parameters
Jiri Denemark [Tue, 27 Feb 2018 16:09:17 +0000 (17:09 +0100)]
qemu: Reset all migration parameters

Restore the original values of all migration parameters we store in
qemuDomainJobObj instead of explicitly resting only a limited set of
them.

The result is not strictly equivalent to the previous code wrt reseting
TLS state because the previous code would only reset it if we changed it
before while the new code will reset it always if QEMU supports TLS
migration. This is not a problem for the parameters themselves, but it
can cause spurious errors about missing TLS objects being logged at the
end of non-TLS migration. This issue will be fixed ~50 patches later.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Pass job object to qemuProcessRecoverMigration{In,Out}
Jiri Denemark [Tue, 3 Apr 2018 11:37:24 +0000 (13:37 +0200)]
qemu: Pass job object to qemuProcessRecoverMigration{In,Out}

Currently, only job->phase is passed and both APIs will need to look at
more details about the job.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Typedef struct qemuDomainJobObj
Jiri Denemark [Thu, 29 Mar 2018 14:48:34 +0000 (16:48 +0200)]
qemu: Typedef struct qemuDomainJobObj

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Store original migration params in job
Jiri Denemark [Tue, 27 Feb 2018 14:45:52 +0000 (15:45 +0100)]
qemu: Store original migration params in job

Any job which touches migration parameters will first store their
original values (i.e., QEMU defaults) to qemuDomainJobObj to make it
easier to reset them back once the job finishes.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Reset migration parameters in qemuMigrationSrcCleanup
Jiri Denemark [Tue, 27 Feb 2018 13:42:56 +0000 (14:42 +0100)]
qemu: Reset migration parameters in qemuMigrationSrcCleanup

When connection to the client which controls a non-p2p migration gets
closed between Perform and Confirm phase, we don't know whether the
domain was successfully migrated or not. Thus, we have to leave the
domain paused and just cleanup the migration job and reset migration
parameters.

Previously we didn't reset the parameters and future save or snapshot
operations would see wrong environment (and could fail because of it) in
case the domain stayed running on the source host.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Introduce qemuMigrationParams struct
Jiri Denemark [Wed, 21 Feb 2018 16:22:29 +0000 (17:22 +0100)]
qemu: Introduce qemuMigrationParams struct

Currently migration parameters are stored in a structure which mimics
the QEMU migration parameters handled by query-migrate-parameters and
migrate-set-parameters. The new structure will become a libvirt's
abstraction on top of QEMU migration parameters, capabilities, and
related stuff.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Move qemuMigrationCompression struct
Jiri Denemark [Wed, 21 Feb 2018 16:40:45 +0000 (17:40 +0100)]
qemu: Move qemuMigrationCompression struct

It provides just another view on some migration parameters so let's move
it close to them. The end goal is to merge compression parameters with
the rest of migration parameters since it doesn't make any sense to
handle them differently.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Drop qemuMigrationParamsClear
Jiri Denemark [Wed, 21 Feb 2018 15:59:47 +0000 (16:59 +0100)]
qemu: Drop qemuMigrationParamsClear

It's no longer used since we do not store the struct on a stack anymore.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Allocate struct for migration parameters
Jiri Denemark [Wed, 21 Feb 2018 15:59:10 +0000 (16:59 +0100)]
qemu: Allocate struct for migration parameters

It will get a bit more complicated soon and storing it on a stack with
{0} initializer will no longer work. We need a proper constructor.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Make qemuMigrationParamsFree follow common pattern
Jiri Denemark [Wed, 21 Feb 2018 14:56:18 +0000 (15:56 +0100)]
qemu: Make qemuMigrationParamsFree follow common pattern

Our *Free functions usually do not take a double pointer and the caller
has to make sure it doesn't use the stale pointer after the *Free
function returns.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Reindent qemuMigrationParamsSetEmptyTLS
Jiri Denemark [Tue, 27 Mar 2018 22:23:20 +0000 (00:23 +0200)]
qemu: Reindent qemuMigrationParamsSetEmptyTLS

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Move qemuMigrationCapsGet
Jiri Denemark [Fri, 6 Apr 2018 13:22:51 +0000 (15:22 +0200)]
qemu: Move qemuMigrationCapsGet

The function is connected with the code which handles migration
parameters and capabilities, let's move it to qemu_migration_params.c.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Move qemuDomainCheckMigrationCapabilities
Jiri Denemark [Tue, 20 Feb 2018 15:40:21 +0000 (16:40 +0100)]
qemu: Move qemuDomainCheckMigrationCapabilities

Since the function is tightly connected to migration, it was renamed as
qemuMigrationCapsCheck and moved to qemu_migration_params.c.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: New file for all APIs related to migration parameters
Jiri Denemark [Wed, 21 Feb 2018 13:18:03 +0000 (14:18 +0100)]
qemu: New file for all APIs related to migration parameters

In the end, this will allow us to have most of the logic around
migration parameters and capabilities done in one place.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Rename qemuMigrationParams
Jiri Denemark [Wed, 21 Feb 2018 09:23:16 +0000 (10:23 +0100)]
qemu: Rename qemuMigrationParams

The function is now called qemuMigrationParamsFromFlags to better
reflect what it is doing: taking migration flags and params and
producing a struct with QEMU migration parameters.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: Rename qemuMigrationAnyCapsGet as qemuMigrationCapsGet
Jiri Denemark [Tue, 20 Feb 2018 15:53:17 +0000 (16:53 +0100)]
qemu: Rename qemuMigrationAnyCapsGet as qemuMigrationCapsGet

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
7 years agodocs: index.html.in: Fix a typo in "virtualization platforms" link
Erik Skultety [Tue, 17 Apr 2018 07:42:01 +0000 (09:42 +0200)]
docs: index.html.in: Fix a typo in "virtualization platforms" link

This was pointing to an .html.in file rather than to the intended html
document.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
7 years agoIntroduce virNetSASLContextDispose
Michal Privoznik [Fri, 13 Apr 2018 12:57:19 +0000 (14:57 +0200)]
Introduce virNetSASLContextDispose

Future commits rely on the presence of this callback.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
7 years agosrc: Unify dispose function names
Michal Privoznik [Fri, 13 Apr 2018 12:56:40 +0000 (14:56 +0200)]
src: Unify dispose function names

If a function is disposing virSomething it should be called
virSomethingDispose(). There are two offenders:
virCapabilitiesDispose(virCapsPtr) and
virDomainXMLOptionClassDispose(virDomainXMLOptionPtr).

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
7 years agodomain_event: s/MetadataCange/MetadataChange/g
Michal Privoznik [Fri, 13 Apr 2018 11:28:03 +0000 (13:28 +0200)]
domain_event: s/MetadataCange/MetadataChange/g

There's a typo in struct name.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
7 years agolxc: s/subtreee/subtree/
Radostin Stoyanov [Sun, 15 Apr 2018 15:30:10 +0000 (16:30 +0100)]
lxc: s/subtreee/subtree/

Signed-off-by: Radostin Stoyanov <rstoyanov1@gmail.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
7 years agoqemu: deprecate QEMU_CAPS_DRIVE_CACHE_UNSAFE
Ján Tomko [Thu, 29 Mar 2018 10:51:55 +0000 (12:51 +0200)]
qemu: deprecate QEMU_CAPS_DRIVE_CACHE_UNSAFE

Implied by QEMU >= 1.2.0.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
7 years agoqemu: deprecate QEMU_CAPS_NO_SHUTDOWN
Ján Tomko [Thu, 29 Mar 2018 10:51:55 +0000 (12:51 +0200)]
qemu: deprecate QEMU_CAPS_NO_SHUTDOWN

Implied by QEMU >= 1.2.0.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
7 years agoqemu_domain: Don't leak @paths in qemuDomainNamespaceSetupDisk
Michal Privoznik [Mon, 16 Apr 2018 15:34:48 +0000 (17:34 +0200)]
qemu_domain: Don't leak @paths in qemuDomainNamespaceSetupDisk

Introduced in d3db304d2e4. Instead of returning immediately we
need to jump onto cleanup label where @paths is freed.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
7 years agoqemu: deprecate QEMU_CAPS_DRIVE_CACHE_DIRECTSYNC
Ján Tomko [Thu, 29 Mar 2018 10:51:55 +0000 (12:51 +0200)]
qemu: deprecate QEMU_CAPS_DRIVE_CACHE_DIRECTSYNC

Implied by QEMU >= 1.2.0.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
7 years agoqemu: deprecate QEMU_CAPS_DEVICE_SPICEVMC
Ján Tomko [Fri, 30 Mar 2018 04:42:35 +0000 (06:42 +0200)]
qemu: deprecate QEMU_CAPS_DEVICE_SPICEVMC

The (now assumed) QEMU_CAPS_CHARDEV_SPICEVMC is preferred.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
7 years agoqemu: deprecate QEMU_CAPS_CHARDEV_SPICEVMC
Ján Tomko [Thu, 29 Mar 2018 10:51:55 +0000 (12:51 +0200)]
qemu: deprecate QEMU_CAPS_CHARDEV_SPICEVMC

Implied by QEMU >= 1.2.0.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
7 years agoqemu: deprecate QEMU_CAPS_DRIVE_AIO
Ján Tomko [Thu, 29 Mar 2018 10:51:55 +0000 (12:51 +0200)]
qemu: deprecate QEMU_CAPS_DRIVE_AIO

Implied by QEMU >= 1.2.0.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
7 years agoqemu: deprecate QEMU_CAPS_VGA_NONE
Ján Tomko [Thu, 29 Mar 2018 10:51:55 +0000 (12:51 +0200)]
qemu: deprecate QEMU_CAPS_VGA_NONE

Last use was removed by commit 0586cf98 deprecating
QEMU_CAPS_DEVICE.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
7 years agoqemu: deprecate QEMU_CAPS_SMBIOS_TYPE
Ján Tomko [Thu, 29 Mar 2018 10:51:55 +0000 (12:51 +0200)]
qemu: deprecate QEMU_CAPS_SMBIOS_TYPE

Implied by QEMU >= 1.2.0.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
7 years agoqemu: deprecate QEMU_CAPS_NAME_PROCESS
Ján Tomko [Thu, 29 Mar 2018 10:51:55 +0000 (12:51 +0200)]
qemu: deprecate QEMU_CAPS_NAME_PROCESS

Implied by QEMU >= 1.2.0.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
7 years agoqemu: deprecate QEMU_CAPS_FSDEV
Ján Tomko [Thu, 29 Mar 2018 10:51:55 +0000 (12:51 +0200)]
qemu: deprecate QEMU_CAPS_FSDEV

Implied by QEMU >= 1.2.0.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
7 years agoqemu: deprecate QEMU_CAPS_BOOT_MENU
Ján Tomko [Thu, 29 Mar 2018 10:51:55 +0000 (12:51 +0200)]
qemu: deprecate QEMU_CAPS_BOOT_MENU

Implied by QEMU >= 1.2.0.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
7 years agoqemu: deprecate QEMU_CAPS_NODEFCONFIG
Ján Tomko [Thu, 29 Mar 2018 10:51:55 +0000 (12:51 +0200)]
qemu: deprecate QEMU_CAPS_NODEFCONFIG

Implied by QEMU >= 1.2.0.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Fixed-up-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
7 years agoqemu: deprecate QEMU_CAPS_VHOST_NET
Ján Tomko [Thu, 29 Mar 2018 10:51:55 +0000 (12:51 +0200)]
qemu: deprecate QEMU_CAPS_VHOST_NET

Implied by QEMU >= 1.2.0.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>