[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 09 of 13 RFC] libxl: destroy devices before device model



2012/1/26 Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>:
> On Wed, 18 Jan 2012, Roger Pau Monne wrote:
>> # HG changeset patch
>> # User Roger Pau Monne <roger.pau@xxxxxxxxxxxxx>
>> # Date 1326728472 -3600
>> # Node ID b5d63cf90d4ef8d222ae282e279b90b7f73f18c3
>> # Parent Â5849bf7c4507edbe900de00332f1218de2d9f45f
>> libxl: destroy devices before device model
>>
>> Destroying the device model before unplugging the devices prevented
>> from doing a clean unplug, since libxl was waiting for dm Âdevices
>> to shutdown when the userspace process was already killed.
>
> I think that this change is correct but have you tested it with any
> backends running in qemu?

Tested under NetBSD Dom0 with HVM DomU and with Debian Dom0 and PV
DomU with qdisk and console backends. Sorry, but I'm unable to test on
Debian with HVM, I don't have any Debian servers with virtualization
extensions.

>> Signed-off-by: Roger Pau Monne <roger.pau@xxxxxxxxxxxxx>
>>
>> diff -r 5849bf7c4507 -r b5d63cf90d4e tools/libxl/libxl.c
>> --- a/tools/libxl/libxl.c   Mon Jan 16 16:40:40 2012 +0100
>> +++ b/tools/libxl/libxl.c   Mon Jan 16 16:41:12 2012 +0100
>> @@ -802,15 +802,15 @@ int libxl_domain_destroy(libxl_ctx *ctx,
>> Â Â Âif (rc < 0) {
>> Â Â Â Â ÂLIBXL__LOG_ERRNOVAL(ctx, LIBXL__LOG_ERROR, rc, "xc_domain_pause 
>> failed for %d", domid);
>> Â Â Â}
>> + Â Âif (libxl__devices_destroy(gc, domid) < 0)
>> + Â Â Â ÂLIBXL__LOG(ctx, LIBXL__LOG_ERROR,
>> + Â Â Â Â Â Â Â Â Â "libxl__devices_destroy failed for %d", domid);
>> Â Â Âif (dm_present) {
>> Â Â Â Â Âif (libxl__destroy_device_model(gc, domid) < 0)
>> Â Â Â Â Â Â ÂLIBXL__LOG(ctx, LIBXL__LOG_ERROR, "libxl__destroy_device_model 
>> failed for %d", domid);
>>
>> Â Â Â Â Âlibxl__qmp_cleanup(gc, domid);
>> Â Â Â}
>> - Â Âif (libxl__devices_destroy(gc, domid) < 0)
>> - Â Â Â ÂLIBXL__LOG(ctx, LIBXL__LOG_ERROR,
>> - Â Â Â Â Â Â Â Â Â "libxl__devices_destroy failed for %d", domid);
>>
>> Â Â Âvm_path = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "%s/vm", 
>> dom_path));
>> Â Â Âif (vm_path)
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@xxxxxxxxxxxxxxxxxxx
>> http://lists.xensource.com/xen-devel
>>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.