mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-10-31 18:33:11 +00:00
3b1244bffd
This is basically just saves checkpoints metadata on disk after name is changed in memory as path to domain checkpoints directory depends on name. After that old checkpoint directory is deleted with checkpoint metadata files. Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com> Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
88 lines
3.0 KiB
C
88 lines
3.0 KiB
C
/*
|
|
* qemu_checkpoint.h: Implementation and handling of checkpoint
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library. If not, see
|
|
* <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "virconftypes.h"
|
|
#include "datatypes.h"
|
|
#include "qemu_conf.h"
|
|
|
|
virDomainObjPtr
|
|
qemuDomObjFromCheckpoint(virDomainCheckpointPtr checkpoint);
|
|
|
|
virDomainMomentObjPtr
|
|
qemuCheckpointObjFromCheckpoint(virDomainObjPtr vm,
|
|
virDomainCheckpointPtr checkpoint);
|
|
|
|
virDomainMomentObjPtr
|
|
qemuCheckpointObjFromName(virDomainObjPtr vm,
|
|
const char *name);
|
|
|
|
int
|
|
qemuCheckpointDiscardAllMetadata(virQEMUDriverPtr driver,
|
|
virDomainObjPtr vm);
|
|
|
|
virDomainCheckpointPtr
|
|
qemuCheckpointCreateXML(virDomainPtr domain,
|
|
virDomainObjPtr vm,
|
|
const char *xmlDesc,
|
|
unsigned int flags);
|
|
|
|
|
|
char *
|
|
qemuCheckpointGetXMLDesc(virDomainObjPtr vm,
|
|
virDomainCheckpointPtr checkpoint,
|
|
unsigned int flags);
|
|
|
|
int
|
|
qemuCheckpointDelete(virDomainObjPtr vm,
|
|
virDomainCheckpointPtr checkpoint,
|
|
unsigned int flags);
|
|
|
|
int
|
|
qemuCheckpointCreateCommon(virQEMUDriverPtr driver,
|
|
virDomainObjPtr vm,
|
|
virDomainCheckpointDefPtr *def,
|
|
virJSONValuePtr *actions,
|
|
virDomainMomentObjPtr *chk);
|
|
|
|
int
|
|
qemuCheckpointCreateFinalize(virQEMUDriverPtr driver,
|
|
virDomainObjPtr vm,
|
|
virQEMUDriverConfigPtr cfg,
|
|
virDomainMomentObjPtr chk,
|
|
bool update_current);
|
|
|
|
void
|
|
qemuCheckpointRollbackMetadata(virDomainObjPtr vm,
|
|
virDomainMomentObjPtr chk);
|
|
|
|
int
|
|
qemuCheckpointDiscardDiskBitmaps(virStorageSourcePtr src,
|
|
GHashTable *blockNamedNodeData,
|
|
const char *delbitmap,
|
|
virJSONValuePtr actions,
|
|
const char *diskdst,
|
|
GSList **reopenimages);
|
|
|
|
int
|
|
qemuCheckpointWriteMetadata(virDomainObjPtr vm,
|
|
virDomainMomentObjPtr checkpoint,
|
|
virDomainXMLOptionPtr xmlopt,
|
|
const char *checkpointDir);
|