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 if a migration API call fails. 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 deletions(-) diff --git a/include/libvirt/virterror.h b/include/libvirt/virterror.h index 7063ef6..e896d67 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 8c4ecc8..7e4135b 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 44a276a..380dc56 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); } -- 1.7.3.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list