mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-25 23:25:24 +00:00
conf: add a new parse flag VIR_DOMAIN_DEF_PARSE_ABI_UPDATE_MIGRATION
So far there is probably no change that is allowed to be done by the VIR_DOMAIN_DEF_PARSE_ABI_UPDATE flag that would break guest ABI but this may change in the future. This introduces new VIR_DOMAIN_DEF_PARSE_ABI_UPDATE_MIGRATION which should be used only for ABI updates that are "safe" for persistent migration. Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
This commit is contained in:
parent
dd81f56842
commit
5c7d88085a
@ -3818,7 +3818,8 @@ virDomainDefPostParseMemory(virDomainDefPtr def,
|
|||||||
/* Attempt to infer the initial memory size from the sum NUMA memory sizes
|
/* Attempt to infer the initial memory size from the sum NUMA memory sizes
|
||||||
* in case ABI updates are allowed or the <memory> element wasn't specified */
|
* in case ABI updates are allowed or the <memory> element wasn't specified */
|
||||||
if (def->mem.total_memory == 0 ||
|
if (def->mem.total_memory == 0 ||
|
||||||
parseFlags & VIR_DOMAIN_DEF_PARSE_ABI_UPDATE)
|
parseFlags & VIR_DOMAIN_DEF_PARSE_ABI_UPDATE ||
|
||||||
|
parseFlags & VIR_DOMAIN_DEF_PARSE_ABI_UPDATE_MIGRATION)
|
||||||
numaMemory = virDomainNumaGetMemorySize(def->numa);
|
numaMemory = virDomainNumaGetMemorySize(def->numa);
|
||||||
|
|
||||||
/* calculate the sizes of hotplug memory */
|
/* calculate the sizes of hotplug memory */
|
||||||
|
@ -2726,6 +2726,10 @@ typedef enum {
|
|||||||
VIR_DOMAIN_DEF_PARSE_SKIP_VALIDATE = 1 << 10,
|
VIR_DOMAIN_DEF_PARSE_SKIP_VALIDATE = 1 << 10,
|
||||||
/* skip parsing of security labels */
|
/* skip parsing of security labels */
|
||||||
VIR_DOMAIN_DEF_PARSE_SKIP_SECLABEL = 1 << 11,
|
VIR_DOMAIN_DEF_PARSE_SKIP_SECLABEL = 1 << 11,
|
||||||
|
/* Allows updates in post parse callback for incoming persistent migration
|
||||||
|
* that would break ABI otherwise. This should be used only if it's safe
|
||||||
|
* to do such change. */
|
||||||
|
VIR_DOMAIN_DEF_PARSE_ABI_UPDATE_MIGRATION = 1 << 12,
|
||||||
} virDomainDefParseFlags;
|
} virDomainDefParseFlags;
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
@ -1173,7 +1173,7 @@ qemuMigrationCookieXMLParse(qemuMigrationCookiePtr mig,
|
|||||||
mig->persistent = virDomainDefParseNode(doc, nodes[0],
|
mig->persistent = virDomainDefParseNode(doc, nodes[0],
|
||||||
caps, driver->xmlopt, NULL,
|
caps, driver->xmlopt, NULL,
|
||||||
VIR_DOMAIN_DEF_PARSE_INACTIVE |
|
VIR_DOMAIN_DEF_PARSE_INACTIVE |
|
||||||
VIR_DOMAIN_DEF_PARSE_ABI_UPDATE |
|
VIR_DOMAIN_DEF_PARSE_ABI_UPDATE_MIGRATION |
|
||||||
VIR_DOMAIN_DEF_PARSE_SKIP_VALIDATE);
|
VIR_DOMAIN_DEF_PARSE_SKIP_VALIDATE);
|
||||||
if (!mig->persistent) {
|
if (!mig->persistent) {
|
||||||
/* virDomainDefParseNode already reported
|
/* virDomainDefParseNode already reported
|
||||||
|
Loading…
Reference in New Issue
Block a user