2019-04-12 12:41:10 +00:00
|
|
|
# vim: filetype=automake
|
|
|
|
|
2018-02-23 16:33:19 +00:00
|
|
|
NETDEV_CONF_SOURCES = \
|
|
|
|
conf/netdev_bandwidth_conf.h \
|
|
|
|
conf/netdev_bandwidth_conf.c \
|
|
|
|
conf/netdev_vport_profile_conf.h \
|
|
|
|
conf/netdev_vport_profile_conf.c \
|
|
|
|
conf/netdev_vlan_conf.h \
|
|
|
|
conf/netdev_vlan_conf.c \
|
2018-08-31 14:21:34 +00:00
|
|
|
conf/virnetworkportdef.h \
|
|
|
|
conf/virnetworkportdef.c \
|
2018-02-23 16:33:19 +00:00
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
DOMAIN_CONF_SOURCES = \
|
|
|
|
conf/capabilities.c \
|
|
|
|
conf/capabilities.h \
|
backup: Parse and output checkpoint XML
Add a new file checkpoint_conf.c that performs the translation to and
from new XML describing a checkpoint. The code shares a common base
class with snapshots, since a checkpoint similarly represents the
domain state at a moment in time. Add some basic testing of round trip
XML handling through the new code.
Of note - this code intentionally differs from snapshots in that XML
schema validation is unconditional, rather than based on a public API
flag. We have many existing interfaces that still need to add a flag
for opt-in schema validation, but those interfaces have existing
clients that may not have been producing strictly-compliant XML, or we
may still uncover bugs where our RNG grammar is inconsistent with our
code (where omitting the opt-in flag allows existing apps to keep
working while waiting for an RNG patch). But since checkpoints are
brand-new, it's easier to ensure the code matches the schema by always
using the schema. If needed, a later patch could extend the API and
add a flag to turn on to request schema validation, rather than having
it forced (possibly just the validation of the <domain> sub-element
during REDEFINE) - but if a user encounters XML that looks like it
should be good but fails to validate with our RNG schema, they would
either have to upgrade to a new libvirt that adds the new flag, or
upgrade to a new libvirt that fixes the RNG schema, which implies
adding such a flag won't help much.
Also, the redefine flag requires the <domain> sub-element to be
present, rather than catering to historical back-compat to older
versions.
Signed-off-by: Eric Blake <eblake@redhat.com>
2018-07-08 02:01:14 +00:00
|
|
|
conf/checkpoint_conf.c \
|
|
|
|
conf/checkpoint_conf.h \
|
2018-02-23 16:33:19 +00:00
|
|
|
conf/domain_addr.c \
|
|
|
|
conf/domain_addr.h \
|
|
|
|
conf/domain_capabilities.c \
|
|
|
|
conf/domain_capabilities.h \
|
|
|
|
conf/domain_conf.c \
|
|
|
|
conf/domain_conf.h \
|
|
|
|
conf/domain_audit.c \
|
|
|
|
conf/domain_audit.h \
|
|
|
|
conf/domain_nwfilter.c \
|
|
|
|
conf/domain_nwfilter.h \
|
|
|
|
conf/virsavecookie.c \
|
|
|
|
conf/virsavecookie.h \
|
2019-03-22 02:02:19 +00:00
|
|
|
conf/moment_conf.c \
|
|
|
|
conf/moment_conf.h \
|
2018-02-23 16:33:19 +00:00
|
|
|
conf/snapshot_conf.c \
|
|
|
|
conf/snapshot_conf.h \
|
2018-09-04 13:42:42 +00:00
|
|
|
conf/snapshot_conf_priv.h \
|
2018-02-23 16:33:19 +00:00
|
|
|
conf/numa_conf.c \
|
|
|
|
conf/numa_conf.h \
|
conf: Split domain forward typedefs into virconftypes.h
Right now, snapshot_conf.h is rather large - it deals with three
separate types: virDomainSnapshotDef (the snapshot definition as it
maps to XML), virDomainSnapshotObj (an object containing a def and the
relationship to other snapshots), and virDomainSnapshotObjList (a list
of snapshot objects), where two of the three types are currently
public rather than opaque. What's more, the types are circular: a
snapshot def includes a virDomainPtr, which contains a snapshot list,
which includes a snapshot object, which includes a snapshot def.
In order to split the three objects into separate files, while still
allowing each header to use sane typedefs to incomplete pointers, the
obvious solution is to lift the typedefs into yet another header, with
no other dependencies. Start the split by factoring out all struct
typedefs from domain_conf.h (enum typedefs don't get used in function
signatures, and function typedefs tend not to suffer from circular
referencing, so those stay put). The only other exception is
virDomainStateReason, which is only ever used directly rather than via
a pointer.
This patch is just straight code motion (all typedefs are listed in
the same order before and after the patch); a later patch will sort
things for legibility.
Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2019-03-15 00:44:34 +00:00
|
|
|
conf/virconftypes.h \
|
2018-02-23 16:33:19 +00:00
|
|
|
conf/virdomainobjlist.c \
|
|
|
|
conf/virdomainobjlist.h \
|
2019-03-22 04:46:26 +00:00
|
|
|
conf/virdomainmomentobjlist.c \
|
|
|
|
conf/virdomainmomentobjlist.h \
|
2019-03-15 02:19:18 +00:00
|
|
|
conf/virdomainsnapshotobjlist.c \
|
|
|
|
conf/virdomainsnapshotobjlist.h \
|
2018-02-23 16:33:19 +00:00
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
OBJECT_EVENT_SOURCES = \
|
|
|
|
conf/object_event.c \
|
|
|
|
conf/object_event.h \
|
|
|
|
conf/object_event_private.h \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
DOMAIN_EVENT_SOURCES = \
|
|
|
|
conf/domain_event.c \
|
|
|
|
conf/domain_event.h \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
NETWORK_EVENT_SOURCES = \
|
|
|
|
conf/network_event.c \
|
|
|
|
conf/network_event.h \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
STORAGE_EVENT_SOURCES = \
|
|
|
|
conf/storage_event.c \
|
|
|
|
conf/storage_event.h \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
NODE_DEVICE_EVENT_SOURCES = \
|
|
|
|
conf/node_device_event.c \
|
|
|
|
conf/node_device_event.h \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
SECRET_EVENT_SOURCES = \
|
|
|
|
conf/secret_event.c \
|
|
|
|
conf/secret_event.h \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
NETWORK_CONF_SOURCES = \
|
|
|
|
conf/network_conf.c \
|
|
|
|
conf/network_conf.h \
|
|
|
|
conf/virnetworkobj.c \
|
|
|
|
conf/virnetworkobj.h \
|
|
|
|
conf/networkcommon_conf.c \
|
|
|
|
conf/networkcommon_conf.h \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
NWFILTER_PARAM_CONF_SOURCES = \
|
|
|
|
conf/nwfilter_params.c \
|
|
|
|
conf/nwfilter_params.h \
|
|
|
|
conf/nwfilter_ipaddrmap.c \
|
|
|
|
conf/nwfilter_ipaddrmap.h \
|
|
|
|
conf/nwfilter_conf.h \
|
|
|
|
conf/virnwfilterobj.h \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
NWFILTER_CONF_SOURCES = \
|
|
|
|
$(NWFILTER_PARAM_CONF_SOURCES) \
|
|
|
|
conf/nwfilter_conf.c \
|
|
|
|
conf/nwfilter_conf.h \
|
|
|
|
conf/virnwfilterobj.c \
|
|
|
|
conf/virnwfilterobj.h \
|
2018-05-10 13:30:42 +00:00
|
|
|
conf/virnwfilterbindingdef.c \
|
|
|
|
conf/virnwfilterbindingdef.h \
|
2018-05-10 16:21:24 +00:00
|
|
|
conf/virnwfilterbindingobj.c \
|
|
|
|
conf/virnwfilterbindingobj.h \
|
2018-05-10 14:29:46 +00:00
|
|
|
conf/virnwfilterbindingobjlist.c \
|
|
|
|
conf/virnwfilterbindingobjlist.h \
|
2018-02-23 16:33:19 +00:00
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
STORAGE_CONF_SOURCES = \
|
|
|
|
conf/storage_adapter_conf.h \
|
|
|
|
conf/storage_adapter_conf.c \
|
2019-02-07 17:29:43 +00:00
|
|
|
conf/storage_capabilities.h \
|
|
|
|
conf/storage_capabilities.c \
|
2018-02-23 16:33:19 +00:00
|
|
|
conf/storage_conf.h \
|
|
|
|
conf/storage_conf.c \
|
|
|
|
conf/virstorageobj.h \
|
|
|
|
conf/virstorageobj.c \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
INTERFACE_CONF_SOURCES = \
|
|
|
|
conf/interface_conf.c \
|
|
|
|
conf/interface_conf.h \
|
|
|
|
conf/virinterfaceobj.c \
|
|
|
|
conf/virinterfaceobj.h \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
SECRET_CONF_SOURCES = \
|
|
|
|
conf/secret_conf.h \
|
|
|
|
conf/secret_conf.c \
|
|
|
|
conf/virsecretobj.h \
|
|
|
|
conf/virsecretobj.c \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
NODE_DEVICE_CONF_SOURCES = \
|
|
|
|
conf/node_device_conf.c \
|
|
|
|
conf/node_device_conf.h \
|
2018-09-19 11:34:35 +00:00
|
|
|
conf/node_device_util.c \
|
|
|
|
conf/node_device_util.h \
|
2018-02-23 16:33:19 +00:00
|
|
|
conf/virnodedeviceobj.c \
|
|
|
|
conf/virnodedeviceobj.h \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
CPU_CONF_SOURCES = \
|
|
|
|
conf/cpu_conf.c \
|
|
|
|
conf/cpu_conf.h \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
CHRDEV_CONF_SOURCES = \
|
|
|
|
conf/virchrdev.c \
|
|
|
|
conf/virchrdev.h \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
DEVICE_CONF_SOURCES = \
|
|
|
|
conf/device_conf.c \
|
|
|
|
conf/device_conf.h \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
CONF_SOURCES = \
|
|
|
|
$(NETDEV_CONF_SOURCES) \
|
|
|
|
$(DOMAIN_CONF_SOURCES) \
|
|
|
|
$(OBJECT_EVENT_SOURCES) \
|
|
|
|
$(DOMAIN_EVENT_SOURCES) \
|
|
|
|
$(NETWORK_EVENT_SOURCES) \
|
|
|
|
$(STORAGE_EVENT_SOURCES) \
|
|
|
|
$(NODE_DEVICE_EVENT_SOURCES) \
|
|
|
|
$(SECRET_EVENT_SOURCES) \
|
|
|
|
$(NETWORK_CONF_SOURCES) \
|
|
|
|
$(NWFILTER_CONF_SOURCES) \
|
|
|
|
$(NODE_DEVICE_CONF_SOURCES) \
|
|
|
|
$(STORAGE_CONF_SOURCES) \
|
|
|
|
$(INTERFACE_CONF_SOURCES) \
|
|
|
|
$(SECRET_CONF_SOURCES) \
|
|
|
|
$(CPU_CONF_SOURCES) \
|
|
|
|
$(CHRDEV_CONF_SOURCES) \
|
|
|
|
$(DEVICE_CONF_SOURCES) \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
noinst_LTLIBRARIES += libvirt_conf.la
|
|
|
|
libvirt_la_BUILT_LIBADD += libvirt_conf.la
|
|
|
|
libvirt_conf_la_SOURCES = $(CONF_SOURCES)
|
|
|
|
libvirt_conf_la_CFLAGS = \
|
|
|
|
-I$(srcdir)/conf \
|
|
|
|
$(AM_CFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
libvirt_conf_la_LDFLAGS = $(AM_LDFLAGS)
|
|
|
|
libvirt_conf_la_LIBADD = $(LIBXML_LIBS)
|