From 8fb2aeb662c11e131b42a42245064dbb881659b7 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Fri, 16 Dec 2011 14:58:38 +0100 Subject: [PATCH] migration: Add more specific error code/message on migration abort A generic error code was returned, if the user aborted a migration job. This made it hard to distinguish between a user requested abort and an error that might have occured. This patch introduces a new error code, which is returned in the specific case of a user abort, while leaving all other failures with their existing code. This makes it easier to distinguish between failure while mirgrating and an user requested abort. * include/libvirt/virterror.h: - add new error code * src/util/virterror.c: - add message for the new error code * src/qemu/qemu_migration.h: - Emit operation aborted error instead of operation failed, on migration abort --- include/libvirt/virterror.h | 2 ++ src/qemu/qemu_migration.c | 2 +- src/util/virterror.c | 6 ++++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/include/libvirt/virterror.h b/include/libvirt/virterror.h index 7063ef6a8e..e896d67ce2 100644 --- a/include/libvirt/virterror.h +++ b/include/libvirt/virterror.h @@ -241,6 +241,8 @@ typedef enum { VIR_ERR_STORAGE_POOL_BUILT = 76, /* storage pool already built */ VIR_ERR_SNAPSHOT_REVERT_RISKY = 77, /* force was not requested for a risky domain snapshot revert */ + VIR_ERR_OPERATION_ABORTED = 78, /* operation on a domain was + canceled/aborted by user */ } virErrorNumber; /** diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 8c4ecc8044..7e4135b1e4 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -905,7 +905,7 @@ qemuMigrationUpdateJobStatus(struct qemud_driver *driver, case QEMU_MONITOR_MIGRATION_STATUS_CANCELLED: priv->job.info.type = VIR_DOMAIN_JOB_CANCELLED; - qemuReportError(VIR_ERR_OPERATION_FAILED, + qemuReportError(VIR_ERR_OPERATION_ABORTED, _("%s: %s"), job, _("canceled by client")); break; } diff --git a/src/util/virterror.c b/src/util/virterror.c index 44a276a9db..380dc56bed 100644 --- a/src/util/virterror.c +++ b/src/util/virterror.c @@ -1213,6 +1213,12 @@ virErrorMsg(virErrorNumber error, const char *info) else errmsg = _("revert requires force: %s"); break; + case VIR_ERR_OPERATION_ABORTED: + if (info == NULL) + errmsg = _("operation aborted"); + else + errmsg = _("operation aborted: %s"); + break; } return (errmsg); }