[PATCH 2/2] libxl: Advertise support for VIR_MIGRATE_CHANGE_PROTECTION

Jim Fehlig posted 2 patches 2 years, 7 months ago
[PATCH 2/2] libxl: Advertise support for VIR_MIGRATE_CHANGE_PROTECTION
Posted by Jim Fehlig 2 years, 7 months ago
The libxl driver has basic support for VIR_MIGRATE_CHANGE_PROTECTION
by starting and stopping modify jobs in the begin/confirm and prepare/finish
phases of migration, but it doesn't advertise that support. This can result
in unterminated jobs because the migration logic skips phases of migration
when the VIR_MIGRATE_CHANGE_PROTECTION feature is absent. Ensure jobs are
terminated properly by advertising support for VIR_MIGRATE_CHANGE_PROTECTION.

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
---
 src/libxl/libxl_driver.c    | 2 +-
 src/libxl/libxl_migration.h | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
index d99bc37bf6..2644d1400a 100644
--- a/src/libxl/libxl_driver.c
+++ b/src/libxl/libxl_driver.c
@@ -5846,8 +5846,8 @@ libxlConnectSupportsFeature(virConnectPtr conn, int feature)
     case VIR_DRV_FEATURE_MIGRATION_V3:
     case VIR_DRV_FEATURE_MIGRATION_PARAMS:
     case VIR_DRV_FEATURE_MIGRATION_P2P:
-        return 1;
     case VIR_DRV_FEATURE_MIGRATE_CHANGE_PROTECTION:
+        return 1;
     case VIR_DRV_FEATURE_MIGRATION_DIRECT:
     case VIR_DRV_FEATURE_MIGRATION_OFFLINE:
     case VIR_DRV_FEATURE_MIGRATION_V1:
diff --git a/src/libxl/libxl_migration.h b/src/libxl/libxl_migration.h
index 078510c672..19b68d08b7 100644
--- a/src/libxl/libxl_migration.h
+++ b/src/libxl/libxl_migration.h
@@ -28,7 +28,8 @@
      VIR_MIGRATE_TUNNELLED | \
      VIR_MIGRATE_PERSIST_DEST | \
      VIR_MIGRATE_UNDEFINE_SOURCE | \
-     VIR_MIGRATE_PAUSED)
+     VIR_MIGRATE_PAUSED | \
+     VIR_MIGRATE_CHANGE_PROTECTION)
 
 /* All supported migration parameters and their types. */
 #define LIBXL_MIGRATION_PARAMETERS \
-- 
2.41.0
Re: [PATCH 2/2] libxl: Advertise support for VIR_MIGRATE_CHANGE_PROTECTION
Posted by Daniel P. Berrangé 2 years, 7 months ago
On Wed, Jul 12, 2023 at 03:26:15PM -0600, Jim Fehlig wrote:
> The libxl driver has basic support for VIR_MIGRATE_CHANGE_PROTECTION
> by starting and stopping modify jobs in the begin/confirm and prepare/finish
> phases of migration, but it doesn't advertise that support. This can result
> in unterminated jobs because the migration logic skips phases of migration
> when the VIR_MIGRATE_CHANGE_PROTECTION feature is absent. Ensure jobs are
> terminated properly by advertising support for VIR_MIGRATE_CHANGE_PROTECTION.
> 
> Signed-off-by: Jim Fehlig <jfehlig@suse.com>
> ---
>  src/libxl/libxl_driver.c    | 2 +-
>  src/libxl/libxl_migration.h | 3 ++-
>  2 files changed, 3 insertions(+), 2 deletions(-)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|