[libvirt] [PATCH] qemu: report useful error failling to destroy domain gracefully

Guan Nan Ren gren at redhat.com
Fri May 17 14:35:26 UTC 2013


 Yes, it belongs to system related error rather than libvirt
 operation related.


----- Original Message -----
From: "Daniel P. Berrange" <berrange at redhat.com>
To: "Guannan Ren" <gren at redhat.com>
Cc: libvir-list at redhat.com
Sent: Friday, May 17, 2013 6:14:56 PM
Subject: Re: [libvirt] [PATCH] qemu: report useful error failling to destroy domain gracefully

On Fri, May 17, 2013 at 05:32:06PM +0800, Guannan Ren wrote:
> Resolves:https://bugzilla.redhat.com/show_bug.cgi?id=927620
> 
>  #kill -STOP `pidof qemu-kvm`
>  #virsh destroy $guest --graceful
>  error: Failed to destroy domain testVM
>  error: An error occurred, but the cause is unknown
> 
> With --graceful, SIGTERM always is emitted to kill driver
> process, but it won't success till burning out waiting time
> in case of process being stopped.
> But domain destroy without --graceful can work, SIGKILL will
> be emitted to the stopped process after 10 secs which always
> kills a process even one that is currently stopped.
> So report an error after burning out waiting time in this case.
> ---

>  
> -    VIR_DEBUG("Timed out waiting after SIGKILL to process %lld",
> -              (long long)pid);
> +    virReportError(VIR_ERR_OPERATION_INVALID,
> +                   _("Failed to terminate process %lld with SIG%s"),
> +                   (long long)pid, signame);

OPERATION_INVALID isn't really appropriate for this. I'd raise a
system error, using  errno==EBUSY to indicate that it needs to
be re-tried to kill the process

Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list