Ian Jackson
2011-Jan-19 17:02 UTC
[Xen-devel] [PATCH] libxl: do not attempt to write "shutdown" dm-command
libxl_domain_destroy writes the command "shutdown" to the xenstore node with which it communicates with qemu. However: - qemu does not understand this command and ignores it (printing a message) - libxl doesn''t wait for the answer and immediately pauses the domain anyway - destroy is the ungraceful (force) operation and should not negotiate with qemu anyway - even in the graceful shutdown case, there would actually be nothing that qemu needs to do. Under some circumstances, this entry in xenstore will survive the domain''s death, ie be leaked. So remove the erroneous code. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c index 7ffb985..2cc2d21 100644 --- a/tools/libxl/libxl.c +++ b/tools/libxl/libxl.c @@ -682,11 +672,6 @@ int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid, int force) if (libxl_device_pci_shutdown(ctx, domid) < 0) LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "pci shutdown failed for domid %d", domid); - if (dm_present) { - xs_write(ctx->xsh, XBT_NULL, - libxl__sprintf(&gc, "/local/domain/0/device-model/%d/command", domid), - "shutdown", strlen("shutdown")); - } rc = xc_domain_pause(ctx->xch, domid); if (rc < 0) { LIBXL__LOG_ERRNOVAL(ctx, LIBXL__LOG_ERROR, rc, "xc_domain_pause failed for %d", domid); _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Campbell
2011-Jan-19 17:08 UTC
Re: [Xen-devel] [PATCH] libxl: do not attempt to write "shutdown" dm-command
On Wed, 2011-01-19 at 17:02 +0000, Ian Jackson wrote:> libxl_domain_destroy writes the command "shutdown" to the xenstore > node with which it communicates with qemu. However: > - qemu does not understand this command and ignores it (printing a > message) > - libxl doesn''t wait for the answer and immediately pauses the domain > anyway > - destroy is the ungraceful (force) operation and should not > negotiate with qemu anyway > - even in the graceful shutdown case, there would actually be nothing > that qemu needs to do. > > Under some circumstances, this entry in xenstore will survive the > domain''s death, ie be leaked. > > So remove the erroneous code. > > Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>Makes sense to me: Acked/Reviewed-by: Ian Campbell <ian.campbell@citrix.com>> > diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c > index 7ffb985..2cc2d21 100644 > --- a/tools/libxl/libxl.c > +++ b/tools/libxl/libxl.c > @@ -682,11 +672,6 @@ int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid, int force) > > if (libxl_device_pci_shutdown(ctx, domid) < 0) > LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "pci shutdown failed for domid %d", domid); > - if (dm_present) { > - xs_write(ctx->xsh, XBT_NULL, > - libxl__sprintf(&gc, "/local/domain/0/device-model/%d/command", domid), > - "shutdown", strlen("shutdown")); > - } > rc = xc_domain_pause(ctx->xch, domid); > if (rc < 0) { > LIBXL__LOG_ERRNOVAL(ctx, LIBXL__LOG_ERROR, rc, "xc_domain_pause failed for %d", domid); > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Jackson
2011-Jan-20 16:32 UTC
Re: [Xen-devel] [PATCH] libxl: do not attempt to write "shutdown" dm-command
Ian Campbell writes ("Re: [Xen-devel] [PATCH] libxl: do not attempt to write "shutdown" dm-command"):> On Wed, 2011-01-19 at 17:02 +0000, Ian Jackson wrote: > > libxl_domain_destroy writes the command "shutdown" to the xenstore > > node with which it communicates with qemu. However:...> Makes sense to me: > Acked/Reviewed-by: Ian Campbell <ian.campbell@citrix.com>Thanks, I have applied that patch. Ian. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel