提交 91234b05 编写于 作者: R Roland Schulz 提交者: Ján Tomko

qemu: Remove parameter 'driver' from qemuBlockJobUpdate

The pointer to the qemu driver is already included in domain object's
private data, so does not need to be passed as yet another parameter
when the domain object is already passed.

Also removes parameter 'driver' from functions which had it just because of
qemuBlockJobUpdate.
Signed-off-by: NRoland Schulz <schullzroll@gmail.com>
Reviewed-by: NJán Tomko <jtomko@redhat.com>
Signed-off-by: NJán Tomko <jtomko@redhat.com>
上级 919bb45b
...@@ -44,7 +44,6 @@ VIR_LOG_INIT("qemu.qemu_blockjob"); ...@@ -44,7 +44,6 @@ VIR_LOG_INIT("qemu.qemu_blockjob");
/** /**
* qemuBlockJobUpdate: * qemuBlockJobUpdate:
* @driver: qemu driver
* @vm: domain * @vm: domain
* @disk: domain disk * @disk: domain disk
* @error: error (output parameter) * @error: error (output parameter)
...@@ -55,20 +54,20 @@ VIR_LOG_INIT("qemu.qemu_blockjob"); ...@@ -55,20 +54,20 @@ VIR_LOG_INIT("qemu.qemu_blockjob");
* Returns the block job event processed or -1 if there was no pending event. * Returns the block job event processed or -1 if there was no pending event.
*/ */
int int
qemuBlockJobUpdate(virQEMUDriverPtr driver, qemuBlockJobUpdate(virDomainObjPtr vm,
virDomainObjPtr vm,
qemuDomainAsyncJob asyncJob, qemuDomainAsyncJob asyncJob,
virDomainDiskDefPtr disk, virDomainDiskDefPtr disk,
char **error) char **error)
{ {
qemuDomainDiskPrivatePtr diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk); qemuDomainDiskPrivatePtr diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk);
qemuDomainObjPrivatePtr priv = vm->privateData;
int status = diskPriv->blockJobStatus; int status = diskPriv->blockJobStatus;
if (error) if (error)
*error = NULL; *error = NULL;
if (status != -1) { if (status != -1) {
qemuBlockJobEventProcess(driver, vm, disk, asyncJob, qemuBlockJobEventProcess(priv->driver, vm, disk, asyncJob,
diskPriv->blockJobType, diskPriv->blockJobType,
diskPriv->blockJobStatus); diskPriv->blockJobStatus);
diskPriv->blockJobStatus = -1; diskPriv->blockJobStatus = -1;
...@@ -244,7 +243,6 @@ qemuBlockJobSyncBegin(virDomainDiskDefPtr disk) ...@@ -244,7 +243,6 @@ qemuBlockJobSyncBegin(virDomainDiskDefPtr disk)
/** /**
* qemuBlockJobSyncEnd: * qemuBlockJobSyncEnd:
* @driver: qemu driver
* @vm: domain * @vm: domain
* @disk: domain disk * @disk: domain disk
* *
...@@ -252,12 +250,11 @@ qemuBlockJobSyncBegin(virDomainDiskDefPtr disk) ...@@ -252,12 +250,11 @@ qemuBlockJobSyncBegin(virDomainDiskDefPtr disk)
* for the disk is processed. * for the disk is processed.
*/ */
void void
qemuBlockJobSyncEnd(virQEMUDriverPtr driver, qemuBlockJobSyncEnd(virDomainObjPtr vm,
virDomainObjPtr vm,
qemuDomainAsyncJob asyncJob, qemuDomainAsyncJob asyncJob,
virDomainDiskDefPtr disk) virDomainDiskDefPtr disk)
{ {
VIR_DEBUG("disk=%s", disk->dst); VIR_DEBUG("disk=%s", disk->dst);
qemuBlockJobUpdate(driver, vm, asyncJob, disk, NULL); qemuBlockJobUpdate(vm, asyncJob, disk, NULL);
QEMU_DOMAIN_DISK_PRIVATE(disk)->blockJobSync = false; QEMU_DOMAIN_DISK_PRIVATE(disk)->blockJobSync = false;
} }
...@@ -26,8 +26,7 @@ ...@@ -26,8 +26,7 @@
# include "qemu_conf.h" # include "qemu_conf.h"
# include "qemu_domain.h" # include "qemu_domain.h"
int qemuBlockJobUpdate(virQEMUDriverPtr driver, int qemuBlockJobUpdate(virDomainObjPtr vm,
virDomainObjPtr vm,
qemuDomainAsyncJob asyncJob, qemuDomainAsyncJob asyncJob,
virDomainDiskDefPtr disk, virDomainDiskDefPtr disk,
char **error); char **error);
...@@ -39,8 +38,7 @@ void qemuBlockJobEventProcess(virQEMUDriverPtr driver, ...@@ -39,8 +38,7 @@ void qemuBlockJobEventProcess(virQEMUDriverPtr driver,
int status); int status);
void qemuBlockJobSyncBegin(virDomainDiskDefPtr disk); void qemuBlockJobSyncBegin(virDomainDiskDefPtr disk);
void qemuBlockJobSyncEnd(virQEMUDriverPtr driver, void qemuBlockJobSyncEnd(virDomainObjPtr vm,
virDomainObjPtr vm,
qemuDomainAsyncJob asyncJob, qemuDomainAsyncJob asyncJob,
virDomainDiskDefPtr disk); virDomainDiskDefPtr disk);
......
...@@ -16934,19 +16934,19 @@ qemuDomainBlockJobAbort(virDomainPtr dom, ...@@ -16934,19 +16934,19 @@ qemuDomainBlockJobAbort(virDomainPtr dom,
* block jobs from confusing us. */ * block jobs from confusing us. */
if (!async) { if (!async) {
qemuDomainDiskPrivatePtr diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk); qemuDomainDiskPrivatePtr diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk);
qemuBlockJobUpdate(driver, vm, QEMU_ASYNC_JOB_NONE, disk, NULL); qemuBlockJobUpdate(vm, QEMU_ASYNC_JOB_NONE, disk, NULL);
while (diskPriv->blockjob) { while (diskPriv->blockjob) {
if (virDomainObjWait(vm) < 0) { if (virDomainObjWait(vm) < 0) {
ret = -1; ret = -1;
goto endjob; goto endjob;
} }
qemuBlockJobUpdate(driver, vm, QEMU_ASYNC_JOB_NONE, disk, NULL); qemuBlockJobUpdate(vm, QEMU_ASYNC_JOB_NONE, disk, NULL);
} }
} }
endjob: endjob:
if (disk) if (disk)
qemuBlockJobSyncEnd(driver, vm, QEMU_ASYNC_JOB_NONE, disk); qemuBlockJobSyncEnd(vm, QEMU_ASYNC_JOB_NONE, disk);
qemuDomainObjEndJob(driver, vm); qemuDomainObjEndJob(driver, vm);
cleanup: cleanup:
......
...@@ -464,7 +464,6 @@ qemuMigrationDstStopNBDServer(virQEMUDriverPtr driver, ...@@ -464,7 +464,6 @@ qemuMigrationDstStopNBDServer(virQEMUDriverPtr driver,
/** /**
* qemuMigrationSrcDriveMirrorReady: * qemuMigrationSrcDriveMirrorReady:
* @driver: qemu driver
* @vm: domain * @vm: domain
* *
* Check the status of all drive-mirrors started by * Check the status of all drive-mirrors started by
...@@ -476,8 +475,7 @@ qemuMigrationDstStopNBDServer(virQEMUDriverPtr driver, ...@@ -476,8 +475,7 @@ qemuMigrationDstStopNBDServer(virQEMUDriverPtr driver,
* -1 on error. * -1 on error.
*/ */
static int static int
qemuMigrationSrcDriveMirrorReady(virQEMUDriverPtr driver, qemuMigrationSrcDriveMirrorReady(virDomainObjPtr vm,
virDomainObjPtr vm,
qemuDomainAsyncJob asyncJob) qemuDomainAsyncJob asyncJob)
{ {
size_t i; size_t i;
...@@ -492,7 +490,7 @@ qemuMigrationSrcDriveMirrorReady(virQEMUDriverPtr driver, ...@@ -492,7 +490,7 @@ qemuMigrationSrcDriveMirrorReady(virQEMUDriverPtr driver,
if (!diskPriv->migrating) if (!diskPriv->migrating)
continue; continue;
status = qemuBlockJobUpdate(driver, vm, asyncJob, disk, &error); status = qemuBlockJobUpdate(vm, asyncJob, disk, &error);
if (status == VIR_DOMAIN_BLOCK_JOB_FAILED) { if (status == VIR_DOMAIN_BLOCK_JOB_FAILED) {
if (error) { if (error) {
virReportError(VIR_ERR_OPERATION_FAILED, virReportError(VIR_ERR_OPERATION_FAILED,
...@@ -532,8 +530,7 @@ qemuMigrationSrcDriveMirrorReady(virQEMUDriverPtr driver, ...@@ -532,8 +530,7 @@ qemuMigrationSrcDriveMirrorReady(virQEMUDriverPtr driver,
* -2 all mirrors are gone but some of them failed. * -2 all mirrors are gone but some of them failed.
*/ */
static int static int
qemuMigrationDriveMirrorCancelled(virQEMUDriverPtr driver, qemuMigrationDriveMirrorCancelled(virDomainObjPtr vm,
virDomainObjPtr vm,
qemuDomainAsyncJob asyncJob, qemuDomainAsyncJob asyncJob,
bool check) bool check)
{ {
...@@ -552,7 +549,7 @@ qemuMigrationDriveMirrorCancelled(virQEMUDriverPtr driver, ...@@ -552,7 +549,7 @@ qemuMigrationDriveMirrorCancelled(virQEMUDriverPtr driver,
if (!diskPriv->migrating) if (!diskPriv->migrating)
continue; continue;
status = qemuBlockJobUpdate(driver, vm, asyncJob, disk, &error); status = qemuBlockJobUpdate(vm, asyncJob, disk, &error);
switch (status) { switch (status) {
case VIR_DOMAIN_BLOCK_JOB_FAILED: case VIR_DOMAIN_BLOCK_JOB_FAILED:
if (check) { if (check) {
...@@ -569,7 +566,7 @@ qemuMigrationDriveMirrorCancelled(virQEMUDriverPtr driver, ...@@ -569,7 +566,7 @@ qemuMigrationDriveMirrorCancelled(virQEMUDriverPtr driver,
ATTRIBUTE_FALLTHROUGH; ATTRIBUTE_FALLTHROUGH;
case VIR_DOMAIN_BLOCK_JOB_CANCELED: case VIR_DOMAIN_BLOCK_JOB_CANCELED:
case VIR_DOMAIN_BLOCK_JOB_COMPLETED: case VIR_DOMAIN_BLOCK_JOB_COMPLETED:
qemuBlockJobSyncEnd(driver, vm, asyncJob, disk); qemuBlockJobSyncEnd(vm, asyncJob, disk);
diskPriv->migrating = false; diskPriv->migrating = false;
break; break;
...@@ -633,7 +630,7 @@ qemuMigrationSrcCancelOneDriveMirror(virQEMUDriverPtr driver, ...@@ -633,7 +630,7 @@ qemuMigrationSrcCancelOneDriveMirror(virQEMUDriverPtr driver,
int status; int status;
int rv; int rv;
status = qemuBlockJobUpdate(driver, vm, asyncJob, disk, &error); status = qemuBlockJobUpdate(vm, asyncJob, disk, &error);
switch (status) { switch (status) {
case VIR_DOMAIN_BLOCK_JOB_FAILED: case VIR_DOMAIN_BLOCK_JOB_FAILED:
case VIR_DOMAIN_BLOCK_JOB_CANCELED: case VIR_DOMAIN_BLOCK_JOB_CANCELED:
...@@ -716,12 +713,12 @@ qemuMigrationSrcCancelDriveMirror(virQEMUDriverPtr driver, ...@@ -716,12 +713,12 @@ qemuMigrationSrcCancelDriveMirror(virQEMUDriverPtr driver,
err = virSaveLastError(); err = virSaveLastError();
failed = true; failed = true;
} }
qemuBlockJobSyncEnd(driver, vm, asyncJob, disk); qemuBlockJobSyncEnd(vm, asyncJob, disk);
diskPriv->migrating = false; diskPriv->migrating = false;
} }
} }
while ((rv = qemuMigrationDriveMirrorCancelled(driver, vm, asyncJob, while ((rv = qemuMigrationDriveMirrorCancelled(vm, asyncJob,
check)) != 1) { check)) != 1) {
if (check && !failed && if (check && !failed &&
dconn && virConnectIsAlive(dconn) <= 0) { dconn && virConnectIsAlive(dconn) <= 0) {
...@@ -848,7 +845,7 @@ qemuMigrationSrcDriveMirror(virQEMUDriverPtr driver, ...@@ -848,7 +845,7 @@ qemuMigrationSrcDriveMirror(virQEMUDriverPtr driver,
VIR_FREE(nbd_dest); VIR_FREE(nbd_dest);
if (qemuDomainObjExitMonitor(driver, vm) < 0 || mon_ret < 0) { if (qemuDomainObjExitMonitor(driver, vm) < 0 || mon_ret < 0) {
qemuBlockJobSyncEnd(driver, vm, QEMU_ASYNC_JOB_MIGRATION_OUT, disk); qemuBlockJobSyncEnd(vm, QEMU_ASYNC_JOB_MIGRATION_OUT, disk);
goto cleanup; goto cleanup;
} }
diskPriv->migrating = true; diskPriv->migrating = true;
...@@ -859,7 +856,7 @@ qemuMigrationSrcDriveMirror(virQEMUDriverPtr driver, ...@@ -859,7 +856,7 @@ qemuMigrationSrcDriveMirror(virQEMUDriverPtr driver,
} }
} }
while ((rv = qemuMigrationSrcDriveMirrorReady(driver, vm, while ((rv = qemuMigrationSrcDriveMirrorReady(vm,
QEMU_ASYNC_JOB_MIGRATION_OUT)) != 1) { QEMU_ASYNC_JOB_MIGRATION_OUT)) != 1) {
if (rv < 0) if (rv < 0)
goto cleanup; goto cleanup;
...@@ -1366,7 +1363,7 @@ qemuMigrationAnyCompleted(virQEMUDriverPtr driver, ...@@ -1366,7 +1363,7 @@ qemuMigrationAnyCompleted(virQEMUDriverPtr driver,
/* This flag should only be set when run on src host */ /* This flag should only be set when run on src host */
if (flags & QEMU_MIGRATION_COMPLETED_CHECK_STORAGE && if (flags & QEMU_MIGRATION_COMPLETED_CHECK_STORAGE &&
qemuMigrationSrcDriveMirrorReady(driver, vm, asyncJob) < 0) qemuMigrationSrcDriveMirrorReady(vm, asyncJob) < 0)
goto error; goto error;
if (flags & QEMU_MIGRATION_COMPLETED_ABORT_ON_ERROR && if (flags & QEMU_MIGRATION_COMPLETED_ABORT_ON_ERROR &&
...@@ -5273,7 +5270,7 @@ qemuMigrationSrcCancel(virQEMUDriverPtr driver, ...@@ -5273,7 +5270,7 @@ qemuMigrationSrcCancel(virQEMUDriverPtr driver,
VIR_DEBUG("Drive mirror on disk %s is still running", disk->dst); VIR_DEBUG("Drive mirror on disk %s is still running", disk->dst);
} else { } else {
VIR_DEBUG("Drive mirror on disk %s is gone", disk->dst); VIR_DEBUG("Drive mirror on disk %s is gone", disk->dst);
qemuBlockJobSyncEnd(driver, vm, QEMU_ASYNC_JOB_NONE, disk); qemuBlockJobSyncEnd(vm, QEMU_ASYNC_JOB_NONE, disk);
diskPriv->migrating = false; diskPriv->migrating = false;
} }
} }
...@@ -5295,7 +5292,7 @@ qemuMigrationSrcCancel(virQEMUDriverPtr driver, ...@@ -5295,7 +5292,7 @@ qemuMigrationSrcCancel(virQEMUDriverPtr driver,
qemuDomainDiskPrivatePtr diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk); qemuDomainDiskPrivatePtr diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk);
if (diskPriv->migrating) { if (diskPriv->migrating) {
qemuBlockJobSyncEnd(driver, vm, QEMU_ASYNC_JOB_NONE, disk); qemuBlockJobSyncEnd(vm, QEMU_ASYNC_JOB_NONE, disk);
diskPriv->migrating = false; diskPriv->migrating = false;
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册