From nobody Wed May 14 06:59:19 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1526642984089812.9761752874679; Fri, 18 May 2018 04:29:44 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.25]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id AE2301B3DFF; Fri, 18 May 2018 11:29:40 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 589D920159B7; Fri, 18 May 2018 11:29:40 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 081CD180BAD4; Fri, 18 May 2018 11:29:40 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w4IBTODq016102 for ; Fri, 18 May 2018 07:29:24 -0400 Received: by smtp.corp.redhat.com (Postfix) id A30322026E03; Fri, 18 May 2018 11:29:24 +0000 (UTC) Received: from angien.brq.redhat.com (unknown [10.43.2.136]) by smtp.corp.redhat.com (Postfix) with ESMTP id 48D402026DFD for ; Fri, 18 May 2018 11:29:24 +0000 (UTC) From: Peter Krempa To: libvir-list@redhat.com Date: Fri, 18 May 2018 13:29:03 +0200 Message-Id: <72c46fa07ec1136a82f252245b6670fa2bb22881.1526642823.git.pkrempa@redhat.com> In-Reply-To: References: In-Reply-To: References: X-Scanned-By: MIMEDefang 2.78 on 10.11.54.4 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 13/15] qemu: migration: Rename NBD migration functions X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.25 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Fri, 18 May 2018 11:29:43 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Drop the mention of 'drive mirror' from the function names and mention NBD. This will help when adding the 'blockdev mirror' migration code which will allow using TLS. Additionally fix some of the function comments to make more sense Signed-off-by: Peter Krempa --- src/qemu/qemu_migration.c | 121 ++++++++++++++++++++++--------------------= ---- 1 file changed, 58 insertions(+), 63 deletions(-) diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 5fa2b4b56b..fdf71b2c0b 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -463,20 +463,19 @@ qemuMigrationDstStopNBDServer(virQEMUDriverPtr driver, /** - * qemuMigrationSrcDriveMirrorReady: + * qemuMigrationSrcNBDStorageCopyReady: * @vm: domain * - * Check the status of all drive-mirrors started by - * qemuMigrationSrcDriveMirror. Any pending block job events - * for the mirrored disks will be processed. + * Check the status of all drives copied via qemuMigrationSrcNBDStorageCop= y. + * Any pending block job events for the mirrored disks will be processed. * * Returns 1 if all mirrors are "ready", * 0 if some mirrors are still performing initial sync, * -1 on error. */ static int -qemuMigrationSrcDriveMirrorReady(virDomainObjPtr vm, - qemuDomainAsyncJob asyncJob) +qemuMigrationSrcNBDStorageCopyReady(virDomainObjPtr vm, + qemuDomainAsyncJob asyncJob) { size_t i; size_t notReady =3D 0; @@ -530,9 +529,9 @@ qemuMigrationSrcDriveMirrorReady(virDomainObjPtr vm, * -2 all mirrors are gone but some of them failed. */ static int -qemuMigrationDriveMirrorCancelled(virDomainObjPtr vm, - qemuDomainAsyncJob asyncJob, - bool check) +qemuMigrationSrcNBDCopyCancelled(virDomainObjPtr vm, + qemuDomainAsyncJob asyncJob, + bool check) { size_t i; size_t active =3D 0; @@ -617,11 +616,11 @@ qemuMigrationDriveMirrorCancelled(virDomainObjPtr vm, * -1 on error or when job failed and failNoJob is true. */ static int -qemuMigrationSrcCancelOneDriveMirror(virQEMUDriverPtr driver, - virDomainObjPtr vm, - virDomainDiskDefPtr disk, - bool failNoJob, - qemuDomainAsyncJob asyncJob) +qemuMigrationSrcNBDCopyCancelOne(virQEMUDriverPtr driver, + virDomainObjPtr vm, + virDomainDiskDefPtr disk, + bool failNoJob, + qemuDomainAsyncJob asyncJob) { qemuDomainObjPrivatePtr priv =3D vm->privateData; char *diskAlias =3D NULL; @@ -672,23 +671,22 @@ qemuMigrationSrcCancelOneDriveMirror(virQEMUDriverPtr= driver, /** - * qemuMigrationSrcCancelDriveMirror: + * qemuMigrationSrcNBDCopyCancel: * @driver: qemu driver * @vm: domain * @check: if true report an error when some of the mirrors fails * - * Cancel all drive-mirrors started by qemuMigrationDriveMirror. - * Any pending block job events for the affected disks will be - * processed. + * Cancel all drive-mirrors started by qemuMigrationSrcNBDStorageCopy. + * Any pending block job events for the affected disks will be processed. * * Returns 0 on success, -1 otherwise. */ static int -qemuMigrationSrcCancelDriveMirror(virQEMUDriverPtr driver, - virDomainObjPtr vm, - bool check, - qemuDomainAsyncJob asyncJob, - virConnectPtr dconn) +qemuMigrationSrcNBDCopyCancel(virQEMUDriverPtr driver, + virDomainObjPtr vm, + bool check, + qemuDomainAsyncJob asyncJob, + virConnectPtr dconn) { virErrorPtr err =3D NULL; int ret =3D -1; @@ -705,8 +703,8 @@ qemuMigrationSrcCancelDriveMirror(virQEMUDriverPtr driv= er, if (!diskPriv->migrating) continue; - rv =3D qemuMigrationSrcCancelOneDriveMirror(driver, vm, disk, - check, asyncJob); + rv =3D qemuMigrationSrcNBDCopyCancelOne(driver, vm, disk, + check, asyncJob); if (rv !=3D 0) { if (rv < 0) { if (!err) @@ -718,8 +716,7 @@ qemuMigrationSrcCancelDriveMirror(virQEMUDriverPtr driv= er, } } - while ((rv =3D qemuMigrationDriveMirrorCancelled(vm, asyncJob, - check)) !=3D 1) { + while ((rv =3D qemuMigrationSrcNBDCopyCancelled(vm, asyncJob, check)) = !=3D 1) { if (check && !failed && dconn && virConnectIsAlive(dconn) <=3D 0) { virReportError(VIR_ERR_OPERATION_FAILED, "%s", @@ -752,7 +749,7 @@ qemuMigrationSrcCancelDriveMirror(virQEMUDriverPtr driv= er, /** - * qemuMigrationDriveMirror: + * qemuMigrationSrcNBDStorageCopy: * @driver: qemu driver * @vm: domain * @mig: migration cookie @@ -760,27 +757,26 @@ qemuMigrationSrcCancelDriveMirror(virQEMUDriverPtr dr= iver, * @speed: bandwidth limit in MiB/s * @migrate_flags: migrate monitor command flags * - * Run drive-mirror to feed NBD server running on dst and wait - * till the process switches into another phase where writes go - * simultaneously to both source and destination. On success, - * update @migrate_flags so we don't tell 'migrate' command + * Migrate non-shared storage using the NBD protocol to the server running + * inside the qemu process on dst and wait until the copy converges. + * On success update @migrate_flags so we don't tell 'migrate' command * to do the very same operation. On failure, the caller is - * expected to call qemuMigrationSrcCancelDriveMirror to stop all - * running mirrors. + * expected to call qemuMigrationSrcNBDCopyCancel to stop all + * running copy operations. * * Returns 0 on success (@migrate_flags updated), * -1 otherwise. */ static int -qemuMigrationSrcDriveMirror(virQEMUDriverPtr driver, - virDomainObjPtr vm, - qemuMigrationCookiePtr mig, - const char *host, - unsigned long speed, - unsigned int *migrate_flags, - size_t nmigrate_disks, - const char **migrate_disks, - virConnectPtr dconn) +qemuMigrationSrcNBDStorageCopy(virQEMUDriverPtr driver, + virDomainObjPtr vm, + qemuMigrationCookiePtr mig, + const char *host, + unsigned long speed, + unsigned int *migrate_flags, + size_t nmigrate_disks, + const char **migrate_disks, + virConnectPtr dconn) { qemuDomainObjPrivatePtr priv =3D vm->privateData; int ret =3D -1; @@ -857,8 +853,7 @@ qemuMigrationSrcDriveMirror(virQEMUDriverPtr driver, } } - while ((rv =3D qemuMigrationSrcDriveMirrorReady(vm, - QEMU_ASYNC_JOB_MIGRATION= _OUT)) !=3D 1) { + while ((rv =3D qemuMigrationSrcNBDStorageCopyReady(vm, QEMU_ASYNC_JOB_= MIGRATION_OUT)) !=3D 1) { if (rv < 0) goto cleanup; @@ -1364,7 +1359,7 @@ qemuMigrationAnyCompleted(virQEMUDriverPtr driver, /* This flag should only be set when run on src host */ if (flags & QEMU_MIGRATION_COMPLETED_CHECK_STORAGE && - qemuMigrationSrcDriveMirrorReady(vm, asyncJob) < 0) + qemuMigrationSrcNBDStorageCopyReady(vm, asyncJob) < 0) goto error; if (flags & QEMU_MIGRATION_COMPLETED_ABORT_ON_ERROR && @@ -2852,8 +2847,8 @@ qemuMigrationSrcConfirmPhase(virQEMUDriverPtr driver, int reason; /* cancel any outstanding NBD jobs */ - qemuMigrationSrcCancelDriveMirror(driver, vm, false, - QEMU_ASYNC_JOB_MIGRATION_OUT, NU= LL); + qemuMigrationSrcNBDCopyCancel(driver, vm, false, + QEMU_ASYNC_JOB_MIGRATION_OUT, NULL); virSetError(orig_err); virFreeError(orig_err); @@ -3357,13 +3352,13 @@ qemuMigrationSrcRun(virQEMUDriverPtr driver, } /* This will update migrate_flags on success */ - if (qemuMigrationSrcDriveMirror(driver, vm, mig, - spec->dest.host.name, - migrate_speed, - &migrate_flags, - nmigrate_disks, - migrate_disks, - dconn) < 0) { + if (qemuMigrationSrcNBDStorageCopy(driver, vm, mig, + spec->dest.host.name, + migrate_speed, + &migrate_flags, + nmigrate_disks, + migrate_disks, + dconn) < 0) { goto error; } } else { @@ -3492,9 +3487,9 @@ qemuMigrationSrcRun(virQEMUDriverPtr driver, } if (mig->nbd && - qemuMigrationSrcCancelDriveMirror(driver, vm, true, - QEMU_ASYNC_JOB_MIGRATION_OUT, - dconn) < 0) + qemuMigrationSrcNBDCopyCancel(driver, vm, true, + QEMU_ASYNC_JOB_MIGRATION_OUT, + dconn) < 0) goto error; /* When migration was paused before serializing device state we need to @@ -3579,9 +3574,9 @@ qemuMigrationSrcRun(virQEMUDriverPtr driver, /* cancel any outstanding NBD jobs */ if (mig && mig->nbd) - qemuMigrationSrcCancelDriveMirror(driver, vm, false, - QEMU_ASYNC_JOB_MIGRATION_OUT, - dconn); + qemuMigrationSrcNBDCopyCancel(driver, vm, false, + QEMU_ASYNC_JOB_MIGRATION_OUT, + dconn); if (priv->job.current->status !=3D QEMU_DOMAIN_JOB_STATUS_CANCELED) priv->job.current->status =3D QEMU_DOMAIN_JOB_STATUS_FAILED; @@ -5270,8 +5265,8 @@ qemuMigrationSrcCancel(virQEMUDriverPtr driver, } } - if (qemuMigrationSrcCancelDriveMirror(driver, vm, false, - QEMU_ASYNC_JOB_NONE, NULL) < 0) + if (qemuMigrationSrcNBDCopyCancel(driver, vm, false, + QEMU_ASYNC_JOB_NONE, NULL) < 0) goto endsyncjob; ret =3D 0; --=20 2.16.2 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list