[pve-devel] [PATCH qemu-server] Fix misleading error message when qmp fails to report a query-block-jobs
Emmanuel Kasper
e.kasper at proxmox.com
Thu Sep 7 10:00:07 CEST 2017
any feedback on this ?
cancelling an action because it has been cancelled it not such an
helpful error message ;)
On 08/02/2017 01:28 PM, Emmanuel Kasper wrote:
> Currently when qmp fails to report a query-block-jobs,
> we exit with the following log:
>
> drive-scsi0: transferred: 2950692864 bytes remaining: 3491758080 bytes total: 6442450944 bytes progression: 45.80 % busy: 1 ready: 0
> drive-scsi0: transferred: 2950692864 bytes remaining: 3491758080 bytes total: 6442450944 bytes progression: 45.80 % busy: 1 ready: 0
> drive-scsi0: transferred: 2950692864 bytes remaining: 3491758080 bytes total: 6442450944 bytes progression: 45.80 % busy: 1 ready: 0
> drive-scsi0: transferred: 2950692864 bytes remaining: 3491758080 bytes total: 6442450944 bytes progression: 45.80 % busy: 1 ready: 0
> drive-scsi0: transferred: 2950692864 bytes remaining: 3491758080 bytes total: 6442450944 bytes progression: 45.80 % busy: 1 ready: 0
> drive-scsi0: Cancelling block job
> drive-scsi0: Done.
> 2017-07-31 17:51:44 ERROR: online migrate failure - mirroring error: drive-scsi0: mirroring has been cancelled
> 2017-07-31 17:51:44 aborting phase 2 - cleanup resources
> 2017-07-31 17:51:44 migrate_cancel
> 2017-07-31 17:51:53 ERROR: command '/usr/bin/ssh -o 'BatchMode=yes' -o 'HostKeyAlias=pve4' root at 192.168.16.75 pvesm free pvetank:vm-600-disk-3' failed: exit code 1
>
> 'Cancelling block job' comes from the cleanup, but the 'mirroring has been cancelled'
> comes when no job status are returned vm_mon_cmd($vmid, "query-block-jobs")
> ---
> PVE/QemuServer.pm | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
> index 1f34101..b8b3796 100644
> --- a/PVE/QemuServer.pm
> +++ b/PVE/QemuServer.pm
> @@ -6051,7 +6051,8 @@ sub qemu_drive_mirror_monitor {
> next;
> }
>
> - die "$job: mirroring has been cancelled\n" if !defined($running_mirror_jobs->{$job});
> + die "$job: lost track of mirroring job while waiting for ready status\n"
> + if !defined($running_mirror_jobs->{$job});
>
> my $busy = $running_mirror_jobs->{$job}->{busy};
> my $ready = $running_mirror_jobs->{$job}->{ready};
>
More information about the pve-devel
mailing list