mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-23 11:52:20 +00:00
qemu: backup: Return 'def' instead of 'obj' from qemuBackupBeginCollectIncrementalCheckpoints
The object itself has no extra value and it would make testing the code harder. Refactor it to remove just the definition pointer. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
parent
0b27b655b1
commit
d0e829e232
@ -174,7 +174,7 @@ qemuBackupDiskDataCleanup(virDomainObjPtr vm,
|
||||
static int
|
||||
qemuBackupDiskPrepareOneBitmaps(struct qemuBackupDiskData *dd,
|
||||
virJSONValuePtr actions,
|
||||
virDomainMomentObjPtr *incremental)
|
||||
virDomainMomentDefPtr *incremental)
|
||||
{
|
||||
g_autoptr(virJSONValue) mergebitmaps = NULL;
|
||||
g_autoptr(virJSONValue) mergebitmapsstore = NULL;
|
||||
@ -188,7 +188,7 @@ qemuBackupDiskPrepareOneBitmaps(struct qemuBackupDiskData *dd,
|
||||
while (*incremental) {
|
||||
if (qemuMonitorTransactionBitmapMergeSourceAddBitmap(mergebitmaps,
|
||||
dd->domdisk->src->nodeformat,
|
||||
(*incremental)->def->name) < 0)
|
||||
(*incremental)->name) < 0)
|
||||
return -1;
|
||||
|
||||
incremental++;
|
||||
@ -232,7 +232,7 @@ qemuBackupDiskPrepareDataOne(virDomainObjPtr vm,
|
||||
virDomainBackupDiskDefPtr backupdisk,
|
||||
struct qemuBackupDiskData *dd,
|
||||
virJSONValuePtr actions,
|
||||
virDomainMomentObjPtr *incremental,
|
||||
virDomainMomentDefPtr *incremental,
|
||||
virQEMUDriverConfigPtr cfg,
|
||||
bool removeStore)
|
||||
{
|
||||
@ -323,7 +323,7 @@ qemuBackupDiskPrepareDataOnePull(virJSONValuePtr actions,
|
||||
static ssize_t
|
||||
qemuBackupDiskPrepareData(virDomainObjPtr vm,
|
||||
virDomainBackupDefPtr def,
|
||||
virDomainMomentObjPtr *incremental,
|
||||
virDomainMomentDefPtr *incremental,
|
||||
virJSONValuePtr actions,
|
||||
virQEMUDriverConfigPtr cfg,
|
||||
struct qemuBackupDiskData **rdd,
|
||||
@ -505,24 +505,27 @@ qemuBackupBeginPullExportDisks(virDomainObjPtr vm,
|
||||
* @vm: domain object
|
||||
* @incrFrom: name of checkpoint representing starting point of incremental backup
|
||||
*
|
||||
* Returns a NULL terminated list of pointers to checkpoints in chronological
|
||||
* order starting from the 'current' checkpoint until reaching @incrFrom.
|
||||
* Returns a NULL terminated list of pointers to checkpoint definitions in
|
||||
* chronological order starting from the 'current' checkpoint until reaching
|
||||
* @incrFrom.
|
||||
*/
|
||||
static virDomainMomentObjPtr *
|
||||
static virDomainMomentDefPtr *
|
||||
qemuBackupBeginCollectIncrementalCheckpoints(virDomainObjPtr vm,
|
||||
const char *incrFrom)
|
||||
{
|
||||
virDomainMomentObjPtr n = virDomainCheckpointGetCurrent(vm->checkpoints);
|
||||
g_autofree virDomainMomentObjPtr *incr = NULL;
|
||||
g_autofree virDomainMomentDefPtr *incr = NULL;
|
||||
size_t nincr = 0;
|
||||
|
||||
while (n) {
|
||||
if (VIR_APPEND_ELEMENT_COPY(incr, nincr, n) < 0)
|
||||
virDomainMomentDefPtr def = n->def;
|
||||
|
||||
if (VIR_APPEND_ELEMENT_COPY(incr, nincr, def) < 0)
|
||||
return NULL;
|
||||
|
||||
if (STREQ(n->def->name, incrFrom)) {
|
||||
virDomainMomentObjPtr terminator = NULL;
|
||||
if (VIR_APPEND_ELEMENT_COPY(incr, nincr, terminator) < 0)
|
||||
if (STREQ(def->name, incrFrom)) {
|
||||
def = NULL;
|
||||
if (VIR_APPEND_ELEMENT_COPY(incr, nincr, def) < 0)
|
||||
return NULL;
|
||||
|
||||
return g_steal_pointer(&incr);
|
||||
@ -648,7 +651,7 @@ qemuBackupBegin(virDomainObjPtr vm,
|
||||
bool pull = false;
|
||||
virDomainMomentObjPtr chk = NULL;
|
||||
g_autoptr(virDomainCheckpointDef) chkdef = NULL;
|
||||
g_autofree virDomainMomentObjPtr *incremental = NULL;
|
||||
g_autofree virDomainMomentDefPtr *incremental = NULL;
|
||||
g_autoptr(virJSONValue) actions = NULL;
|
||||
struct qemuBackupDiskData *dd = NULL;
|
||||
ssize_t ndd = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user