[PATCH 3/5] virDomainCheckpointRedefineCommit: Don't check ABI of definition in checkpoint
Daniel Henrique Barboza
danielhb413 at gmail.com
Fri Dec 4 12:51:34 UTC 2020
On 12/2/20 11:13 AM, Peter Krempa wrote:
> Checking the definition ABI when redefining checkpoints doesn't make
> much sense for the following reasons:
>
> * the domain definition in the checkpoint is mostly unused (a relic
> adopted from the snapshot code)
>
> * can be very easily overriden by deleting the checkpoint metadata
s/overriden/overridden
> before redefinition
>
> Rather than complicating the logic when we'll be taking into account
> that the domain definition may be missing, let's just remove the check.
>
> Signed-off-by: Peter Krempa <pkrempa at redhat.com>
> ---
Reviewed-by: Daniel Henrique Barboza <danielhb413 at gmail.com>
> src/conf/checkpoint_conf.c | 7 +------
> src/conf/checkpoint_conf.h | 3 +--
> src/qemu/qemu_checkpoint.c | 7 +++----
> src/test/test_driver.c | 2 +-
> 4 files changed, 6 insertions(+), 13 deletions(-)
>
> diff --git a/src/conf/checkpoint_conf.c b/src/conf/checkpoint_conf.c
> index 8744ac83e1..73fdb78e7a 100644
> --- a/src/conf/checkpoint_conf.c
> +++ b/src/conf/checkpoint_conf.c
> @@ -545,8 +545,7 @@ virDomainCheckpointRedefinePrep(virDomainObjPtr vm,
>
> virDomainMomentObjPtr
> virDomainCheckpointRedefineCommit(virDomainObjPtr vm,
> - virDomainCheckpointDefPtr *defptr,
> - virDomainXMLOptionPtr xmlopt)
> + virDomainCheckpointDefPtr *defptr)
> {
> virDomainCheckpointDefPtr def = *defptr;
> virDomainMomentObjPtr other = NULL;
> @@ -556,10 +555,6 @@ virDomainCheckpointRedefineCommit(virDomainObjPtr vm,
> other = virDomainCheckpointFindByName(vm->checkpoints, def->parent.name);
> if (other) {
> otherdef = virDomainCheckpointObjGetDef(other);
> - if (!virDomainDefCheckABIStability(otherdef->parent.dom,
> - def->parent.dom, xmlopt))
> - return NULL;
> -
> /* Drop and rebuild the parent relationship, but keep all
> * child relations by reusing chk. */
> virDomainMomentDropParent(other);
> diff --git a/src/conf/checkpoint_conf.h b/src/conf/checkpoint_conf.h
> index 631f863151..4508f61b29 100644
> --- a/src/conf/checkpoint_conf.h
> +++ b/src/conf/checkpoint_conf.h
> @@ -97,7 +97,6 @@ virDomainCheckpointRedefinePrep(virDomainObjPtr vm,
>
> virDomainMomentObjPtr
> virDomainCheckpointRedefineCommit(virDomainObjPtr vm,
> - virDomainCheckpointDefPtr *defptr,
> - virDomainXMLOptionPtr xmlopt);
> + virDomainCheckpointDefPtr *defptr);
>
> VIR_ENUM_DECL(virDomainCheckpoint);
> diff --git a/src/qemu/qemu_checkpoint.c b/src/qemu/qemu_checkpoint.c
> index e8d18b2e02..1740cadabf 100644
> --- a/src/qemu/qemu_checkpoint.c
> +++ b/src/qemu/qemu_checkpoint.c
> @@ -439,8 +439,7 @@ qemuCheckpointRedefineValidateBitmaps(virDomainObjPtr vm,
>
>
> static virDomainMomentObjPtr
> -qemuCheckpointRedefine(virQEMUDriverPtr driver,
> - virDomainObjPtr vm,
> +qemuCheckpointRedefine(virDomainObjPtr vm,
> virDomainCheckpointDefPtr *def,
> bool *update_current,
> bool validate_bitmaps)
> @@ -452,7 +451,7 @@ qemuCheckpointRedefine(virQEMUDriverPtr driver,
> qemuCheckpointRedefineValidateBitmaps(vm, *def) < 0)
> return NULL;
>
> - return virDomainCheckpointRedefineCommit(vm, def, driver->xmlopt);
> + return virDomainCheckpointRedefineCommit(vm, def);
> }
>
>
> @@ -605,7 +604,7 @@ qemuCheckpointCreateXML(virDomainPtr domain,
> return NULL;
>
> if (redefine) {
> - chk = qemuCheckpointRedefine(driver, vm, &def, &update_current, validate_bitmaps);
> + chk = qemuCheckpointRedefine(vm, &def, &update_current, validate_bitmaps);
> } else {
> chk = qemuCheckpointCreate(driver, vm, &def);
> }
> diff --git a/src/test/test_driver.c b/src/test/test_driver.c
> index 136269de3d..29c4c86b1d 100644
> --- a/src/test/test_driver.c
> +++ b/src/test/test_driver.c
> @@ -8991,7 +8991,7 @@ testDomainCheckpointCreateXML(virDomainPtr domain,
> if (virDomainCheckpointRedefinePrep(vm, def, &update_current) < 0)
> goto cleanup;
>
> - if (!(chk = virDomainCheckpointRedefineCommit(vm, &def, privconn->xmlopt)))
> + if (!(chk = virDomainCheckpointRedefineCommit(vm, &def)))
> goto cleanup;
> } else {
> if (!(def->parent.dom = virDomainDefCopy(vm->def,
>
More information about the libvir-list
mailing list