/* Return -1 if request is not sent to agent due to misconfig, -2 if request
* is sent but failed, and number of frozen filesystems on success. If -2 is
* returned, FSThaw should be called revert the quiesced status. */
-static int
-qemuDomainPrepareDiskChainElementPath(virQEMUDriverPtr driver,
- virDomainObjPtr vm,
- virDomainDiskDefPtr disk,
- const char *file,
- qemuDomainDiskChainMode mode)
-{
- virStorageSource src;
-
- memset(&src, 0, sizeof(src));
-
- src.type = VIR_STORAGE_TYPE_FILE;
- src.format = VIR_STORAGE_FILE_RAW;
- src.path = (char *) file; /* casting away const is safe here */
-
- return qemuDomainPrepareDiskChainElement(driver, vm, disk, &src, mode);
-}
-
-
static int
qemuDomainSnapshotFSFreeze(virQEMUDriverPtr driver,
virDomainObjPtr vm,
if (VIR_STRDUP(mirror->path, dest) < 0)
goto endjob;
- if (qemuDomainPrepareDiskChainElementPath(driver, vm, disk, dest,
- VIR_DISK_CHAIN_READ_WRITE) < 0) {
- qemuDomainPrepareDiskChainElementPath(driver, vm, disk, dest,
- VIR_DISK_CHAIN_NO_ACCESS);
+ if (qemuDomainPrepareDiskChainElement(driver, vm, disk, mirror,
+ VIR_DISK_CHAIN_READ_WRITE) < 0) {
+ qemuDomainPrepareDiskChainElement(driver, vm, disk, mirror,
+ VIR_DISK_CHAIN_NO_ACCESS);
goto endjob;
}
virDomainAuditDisk(vm, NULL, mirror, "mirror", ret >= 0);
qemuDomainObjExitMonitor(driver, vm);
if (ret < 0) {
- qemuDomainPrepareDiskChainElementPath(driver, vm, disk, dest,
- VIR_DISK_CHAIN_NO_ACCESS);
+ qemuDomainPrepareDiskChainElement(driver, vm, disk, mirror,
+ VIR_DISK_CHAIN_NO_ACCESS);
goto endjob;
}