All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0 of 2] libxl: fix domain destruction with libxl hotplug script calling
@ 2011-12-05 10:10 Roger Pau Monne
  2011-12-05 10:10 ` [PATCH 1 of 2] libxl: set frontend status to 6 on domain destroy Roger Pau Monne
  2011-12-05 10:10 ` [PATCH 2 of 2] libxl: remove force parameter from libxl_domain_destroy Roger Pau Monne
  0 siblings, 2 replies; 6+ messages in thread
From: Roger Pau Monne @ 2011-12-05 10:10 UTC (permalink / raw)
  To: xen-devel

When calling hotplug scripts from libxl we have to make sure the 
device is disconnected before attepmting to execute hotplug scripts.

This patch series sets frontend status to 6 when a domain is 
destroyed, so the devices are disconnected and then execute hotplug 
scripts.

Also the syntax of the libxl_domain_destroy has been changed to always 
force the destruction.

This series should be applied after "libxl: add support for hotplug 
script calling from libxl".

Please review, Roger.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1 of 2] libxl: set frontend status to 6 on domain destroy
  2011-12-05 10:10 [PATCH 0 of 2] libxl: fix domain destruction with libxl hotplug script calling Roger Pau Monne
@ 2011-12-05 10:10 ` Roger Pau Monne
  2011-12-05 10:10 ` [PATCH 2 of 2] libxl: remove force parameter from libxl_domain_destroy Roger Pau Monne
  1 sibling, 0 replies; 6+ messages in thread
From: Roger Pau Monne @ 2011-12-05 10:10 UTC (permalink / raw)
  To: xen-devel

# HG changeset patch
# User Roger Pau Monne <roger.pau@entel.upc.edu>
# Date 1323079583 -3600
# Node ID bc90cfd8dd220d69d09cf94a3d39ff3cef76d021
# Parent  274fa4aea2a30fb82228513f969d7cb807813bb8
libxl: set frontend status to 6 on domain destroy

Set frontend status to 6 on domain destruction and wait for devices to
be disconnected before executing hotplug scripts.

Signed-off-by: Roger Pau Monne <roger.pau@entel.upc.edu>

diff -r 274fa4aea2a3 -r bc90cfd8dd22 tools/libxl/libxl_device.c
--- a/tools/libxl/libxl_device.c	Thu Dec 01 16:01:31 2011 +0100
+++ b/tools/libxl/libxl_device.c	Mon Dec 05 11:06:23 2011 +0100
@@ -513,10 +513,7 @@ int libxl__device_destroy(libxl__gc *gc,
     char *be_path = libxl__device_backend_path(gc, dev);
     char *fe_path = libxl__device_frontend_path(gc, dev);
 
-    /* 
-     * Run hotplug scripts, which will probably not be able to
-     * execute successfully since the device may still be plugged
-     */
+    libxl__xs_write(gc, XBT_NULL, libxl__sprintf(gc, "%s/%s", fe_path, "state"), "6");
     libxl__device_execute_hotplug(gc, dev, DISCONNECT);
 
     xs_rm(ctx->xsh, XBT_NULL, be_path);

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 2 of 2] libxl: remove force parameter from libxl_domain_destroy
  2011-12-05 10:10 [PATCH 0 of 2] libxl: fix domain destruction with libxl hotplug script calling Roger Pau Monne
  2011-12-05 10:10 ` [PATCH 1 of 2] libxl: set frontend status to 6 on domain destroy Roger Pau Monne
@ 2011-12-05 10:10 ` Roger Pau Monne
  2011-12-05 10:24   ` Ian Campbell
  1 sibling, 1 reply; 6+ messages in thread
From: Roger Pau Monne @ 2011-12-05 10:10 UTC (permalink / raw)
  To: xen-devel

# HG changeset patch
# User Roger Pau Monne <roger.pau@entel.upc.edu>
# Date 1323079605 -3600
# Node ID c0d51df66b829995c4eb3902b5b9914c710a6c01
# Parent  bc90cfd8dd220d69d09cf94a3d39ff3cef76d021
libxl: remove force parameter from libxl_domain_destroy

Since a destroy is considered a forced shutdown, there's no point in
passing a force parameter. All the occurences of this function have
been replaced with the proper syntax.

Signed-off-by: Roger Pau Monne <roger.pau@entel.upc.edu>

diff -r bc90cfd8dd22 -r c0d51df66b82 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c	Mon Dec 05 11:06:23 2011 +0100
+++ b/tools/libxl/libxl.c	Mon Dec 05 11:06:45 2011 +0100
@@ -718,7 +718,7 @@ int libxl_event_get_disk_eject_info(libx
     return 1;
 }
 
-int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid, int force)
+int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
 {
     libxl__gc gc = LIBXL_INIT_GC(ctx);
     libxl_dominfo dominfo;
@@ -767,7 +767,7 @@ int libxl_domain_destroy(libxl_ctx *ctx,
 
         libxl__qmp_cleanup(&gc, domid);
     }
-    if (libxl__devices_destroy(&gc, domid, force) < 0)
+    if (libxl__devices_destroy(&gc, domid, 1) < 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));
diff -r bc90cfd8dd22 -r c0d51df66b82 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h	Mon Dec 05 11:06:23 2011 +0100
+++ b/tools/libxl/libxl.h	Mon Dec 05 11:06:45 2011 +0100
@@ -269,7 +269,7 @@ int libxl_domain_suspend(libxl_ctx *ctx,
                           uint32_t domid, int fd);
 int libxl_domain_resume(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_shutdown(libxl_ctx *ctx, uint32_t domid, int req);
-int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid, int force);
+int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_preserve(libxl_ctx *ctx, uint32_t domid, libxl_domain_create_info *info, const char *name_suffix, libxl_uuid new_uuid);
 
 /* get max. number of cpus supported by hypervisor */
diff -r bc90cfd8dd22 -r c0d51df66b82 tools/libxl/libxl_create.c
--- a/tools/libxl/libxl_create.c	Mon Dec 05 11:06:23 2011 +0100
+++ b/tools/libxl/libxl_create.c	Mon Dec 05 11:06:45 2011 +0100
@@ -646,7 +646,7 @@ static int do_domain_create(libxl__gc *g
 
 error_out:
     if (domid)
-        libxl_domain_destroy(ctx, domid, 0);
+        libxl_domain_destroy(ctx, domid);
 
     return ret;
 }
diff -r bc90cfd8dd22 -r c0d51df66b82 tools/libxl/libxl_dm.c
--- a/tools/libxl/libxl_dm.c	Mon Dec 05 11:06:23 2011 +0100
+++ b/tools/libxl/libxl_dm.c	Mon Dec 05 11:06:45 2011 +0100
@@ -917,7 +917,7 @@ int libxl__destroy_device_model(libxl__g
             goto out;
         }
         LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device model is a stubdom, domid=%d", stubdomid);
-        ret = libxl_domain_destroy(ctx, stubdomid, 0);
+        ret = libxl_domain_destroy(ctx, stubdomid);
         if (ret)
             goto out;
     } else {
diff -r bc90cfd8dd22 -r c0d51df66b82 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c	Mon Dec 05 11:06:23 2011 +0100
+++ b/tools/libxl/xl_cmdimpl.c	Mon Dec 05 11:06:45 2011 +0100
@@ -1200,7 +1200,7 @@ static int handle_domain_death(libxl_ctx
         /* fall-through */
     case LIBXL_ACTION_ON_SHUTDOWN_DESTROY:
         LOG("Domain %d needs to be cleaned up: destroying the domain", domid);
-        libxl_domain_destroy(ctx, domid, 0);
+        libxl_domain_destroy(ctx, domid);
         break;
 
     case LIBXL_ACTION_ON_SHUTDOWN_COREDUMP_DESTROY:
@@ -1698,7 +1698,7 @@ start:
 error_out:
     release_lock();
     if (libxl_domid_valid_guest(domid))
-        libxl_domain_destroy(ctx, domid, 0);
+        libxl_domain_destroy(ctx, domid);
 
 out:
     if (logfile != 2)
@@ -2168,7 +2168,7 @@ static void destroy_domain(const char *p
         fprintf(stderr, "Cannot destroy privileged domain 0.\n\n");
         exit(-1);
     }
-    rc = libxl_domain_destroy(ctx, domid, 0);
+    rc = libxl_domain_destroy(ctx, domid);
     if (rc) { fprintf(stderr,"destroy failed (rc=%d)\n",rc); exit(-1); }
 }
 
@@ -2414,7 +2414,7 @@ static int save_domain(const char *p, co
     if (checkpoint)
         libxl_domain_unpause(ctx, domid);
     else
-        libxl_domain_destroy(ctx, domid, 0);
+        libxl_domain_destroy(ctx, domid);
 
     exit(0);
 }
@@ -2647,7 +2647,7 @@ static void migrate_domain(const char *d
     }
 
     fprintf(stderr, "migration sender: Target reports successful startup.\n");
-    libxl_domain_destroy(ctx, domid, 1); /* bang! */
+    libxl_domain_destroy(ctx, domid); /* bang! */
     fprintf(stderr, "Migration successful.\n");
     exit(0);
 
@@ -2764,7 +2764,7 @@ static void migrate_receive(int debug, i
     if (rc) {
         fprintf(stderr, "migration target: Failure, destroying our copy.\n");
 
-        rc2 = libxl_domain_destroy(ctx, domid, 1);
+        rc2 = libxl_domain_destroy(ctx, domid);
         if (rc2) {
             fprintf(stderr, "migration target: Failed to destroy our copy"
                     " (code %d).\n", rc2);
diff -r bc90cfd8dd22 -r c0d51df66b82 tools/python/xen/lowlevel/xl/xl.c
--- a/tools/python/xen/lowlevel/xl/xl.c	Mon Dec 05 11:06:23 2011 +0100
+++ b/tools/python/xen/lowlevel/xl/xl.c	Mon Dec 05 11:06:45 2011 +0100
@@ -437,10 +437,10 @@ static PyObject *pyxl_domain_shutdown(Xl
 
 static PyObject *pyxl_domain_destroy(XlObject *self, PyObject *args)
 {
-    int domid, force = 1;
-    if ( !PyArg_ParseTuple(args, "i|i", &domid, &force) )
+    int domid;
+    if ( !PyArg_ParseTuple(args, "i", &domid) )
         return NULL;
-    if ( libxl_domain_destroy(self->ctx, domid, force) ) {
+    if ( libxl_domain_destroy(self->ctx, domid) ) {
         PyErr_SetString(xl_error_obj, "cannot destroy domain");
         return NULL;
     }

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2 of 2] libxl: remove force parameter from libxl_domain_destroy
  2011-12-05 10:10 ` [PATCH 2 of 2] libxl: remove force parameter from libxl_domain_destroy Roger Pau Monne
@ 2011-12-05 10:24   ` Ian Campbell
  2011-12-05 10:36     ` Ian Campbell
  2011-12-05 10:48     ` Roger Pau Monné
  0 siblings, 2 replies; 6+ messages in thread
From: Ian Campbell @ 2011-12-05 10:24 UTC (permalink / raw)
  To: Roger Pau Monne; +Cc: xen-devel@lists.xensource.com

Did patch 1/2 get stuck somewhere? I've not seen it yet.

On Mon, 2011-12-05 at 10:10 +0000, Roger Pau Monne wrote:
> # HG changeset patch
> # User Roger Pau Monne <roger.pau@entel.upc.edu>
> # Date 1323079605 -3600
> # Node ID c0d51df66b829995c4eb3902b5b9914c710a6c01
> # Parent  bc90cfd8dd220d69d09cf94a3d39ff3cef76d021
> libxl: remove force parameter from libxl_domain_destroy
> 
> Since a destroy is considered a forced shutdown, there's no point in
> passing a force parameter. All the occurences of this function have
> been replaced with the proper syntax.

I'm a little concerned with the change in libxl__destroy_device_model,
mostly because I don';t know what the expected semantics of a stub dom
shutdown are. Perhaps it is fine to shoot such a domain in the head
without previously giving an opportunity to shutdown?

> 
> Signed-off-by: Roger Pau Monne <roger.pau@entel.upc.edu>
> 
> diff -r bc90cfd8dd22 -r c0d51df66b82 tools/libxl/libxl.c
> --- a/tools/libxl/libxl.c	Mon Dec 05 11:06:23 2011 +0100
> +++ b/tools/libxl/libxl.c	Mon Dec 05 11:06:45 2011 +0100
> @@ -718,7 +718,7 @@ int libxl_event_get_disk_eject_info(libx
>      return 1;
>  }
>  
> -int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid, int force)
> +int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
>  {
>      libxl__gc gc = LIBXL_INIT_GC(ctx);
>      libxl_dominfo dominfo;
> @@ -767,7 +767,7 @@ int libxl_domain_destroy(libxl_ctx *ctx,
>  
>          libxl__qmp_cleanup(&gc, domid);
>      }
> -    if (libxl__devices_destroy(&gc, domid, force) < 0)
> +    if (libxl__devices_destroy(&gc, domid, 1) < 0)

If I'm not missing something this seems to be the only caller of
libxl__device_destroy. We could keep pushing this change down and remove
the force param here too which in turns removes a bunch of code from
libxl__devices_destroy and makes it behave like its name suggests.

>          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));
> diff -r bc90cfd8dd22 -r c0d51df66b82 tools/libxl/libxl.h
> --- a/tools/libxl/libxl.h	Mon Dec 05 11:06:23 2011 +0100
> +++ b/tools/libxl/libxl.h	Mon Dec 05 11:06:45 2011 +0100
> @@ -269,7 +269,7 @@ int libxl_domain_suspend(libxl_ctx *ctx,
>                            uint32_t domid, int fd);
>  int libxl_domain_resume(libxl_ctx *ctx, uint32_t domid);
>  int libxl_domain_shutdown(libxl_ctx *ctx, uint32_t domid, int req);
> -int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid, int force);
> +int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid);
>  int libxl_domain_preserve(libxl_ctx *ctx, uint32_t domid, libxl_domain_create_info *info, const char *name_suffix, libxl_uuid new_uuid);
>  
>  /* get max. number of cpus supported by hypervisor */
> diff -r bc90cfd8dd22 -r c0d51df66b82 tools/libxl/libxl_create.c
> --- a/tools/libxl/libxl_create.c	Mon Dec 05 11:06:23 2011 +0100
> +++ b/tools/libxl/libxl_create.c	Mon Dec 05 11:06:45 2011 +0100
> @@ -646,7 +646,7 @@ static int do_domain_create(libxl__gc *g
>  
>  error_out:
>      if (domid)
> -        libxl_domain_destroy(ctx, domid, 0);
> +        libxl_domain_destroy(ctx, domid);
>  
>      return ret;
>  }
> diff -r bc90cfd8dd22 -r c0d51df66b82 tools/libxl/libxl_dm.c
> --- a/tools/libxl/libxl_dm.c	Mon Dec 05 11:06:23 2011 +0100
> +++ b/tools/libxl/libxl_dm.c	Mon Dec 05 11:06:45 2011 +0100
> @@ -917,7 +917,7 @@ int libxl__destroy_device_model(libxl__g
>              goto out;
>          }
>          LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Device model is a stubdom, domid=%d", stubdomid);
> -        ret = libxl_domain_destroy(ctx, stubdomid, 0);
> +        ret = libxl_domain_destroy(ctx, stubdomid);
>          if (ret)
>              goto out;
>      } else {
> diff -r bc90cfd8dd22 -r c0d51df66b82 tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c	Mon Dec 05 11:06:23 2011 +0100
> +++ b/tools/libxl/xl_cmdimpl.c	Mon Dec 05 11:06:45 2011 +0100
> @@ -1200,7 +1200,7 @@ static int handle_domain_death(libxl_ctx
>          /* fall-through */
>      case LIBXL_ACTION_ON_SHUTDOWN_DESTROY:
>          LOG("Domain %d needs to be cleaned up: destroying the domain", domid);
> -        libxl_domain_destroy(ctx, domid, 0);
> +        libxl_domain_destroy(ctx, domid);
>          break;
>  
>      case LIBXL_ACTION_ON_SHUTDOWN_COREDUMP_DESTROY:
> @@ -1698,7 +1698,7 @@ start:
>  error_out:
>      release_lock();
>      if (libxl_domid_valid_guest(domid))
> -        libxl_domain_destroy(ctx, domid, 0);
> +        libxl_domain_destroy(ctx, domid);
>  
>  out:
>      if (logfile != 2)
> @@ -2168,7 +2168,7 @@ static void destroy_domain(const char *p
>          fprintf(stderr, "Cannot destroy privileged domain 0.\n\n");
>          exit(-1);
>      }
> -    rc = libxl_domain_destroy(ctx, domid, 0);
> +    rc = libxl_domain_destroy(ctx, domid);
>      if (rc) { fprintf(stderr,"destroy failed (rc=%d)\n",rc); exit(-1); }
>  }
>  
> @@ -2414,7 +2414,7 @@ static int save_domain(const char *p, co
>      if (checkpoint)
>          libxl_domain_unpause(ctx, domid);
>      else
> -        libxl_domain_destroy(ctx, domid, 0);
> +        libxl_domain_destroy(ctx, domid);
>  
>      exit(0);
>  }
> @@ -2647,7 +2647,7 @@ static void migrate_domain(const char *d
>      }
>  
>      fprintf(stderr, "migration sender: Target reports successful startup.\n");
> -    libxl_domain_destroy(ctx, domid, 1); /* bang! */
> +    libxl_domain_destroy(ctx, domid); /* bang! */
>      fprintf(stderr, "Migration successful.\n");
>      exit(0);
>  
> @@ -2764,7 +2764,7 @@ static void migrate_receive(int debug, i
>      if (rc) {
>          fprintf(stderr, "migration target: Failure, destroying our copy.\n");
>  
> -        rc2 = libxl_domain_destroy(ctx, domid, 1);
> +        rc2 = libxl_domain_destroy(ctx, domid);
>          if (rc2) {
>              fprintf(stderr, "migration target: Failed to destroy our copy"
>                      " (code %d).\n", rc2);
> diff -r bc90cfd8dd22 -r c0d51df66b82 tools/python/xen/lowlevel/xl/xl.c
> --- a/tools/python/xen/lowlevel/xl/xl.c	Mon Dec 05 11:06:23 2011 +0100
> +++ b/tools/python/xen/lowlevel/xl/xl.c	Mon Dec 05 11:06:45 2011 +0100
> @@ -437,10 +437,10 @@ static PyObject *pyxl_domain_shutdown(Xl
>  
>  static PyObject *pyxl_domain_destroy(XlObject *self, PyObject *args)
>  {
> -    int domid, force = 1;
> -    if ( !PyArg_ParseTuple(args, "i|i", &domid, &force) )
> +    int domid;
> +    if ( !PyArg_ParseTuple(args, "i", &domid) )
>          return NULL;
> -    if ( libxl_domain_destroy(self->ctx, domid, force) ) {
> +    if ( libxl_domain_destroy(self->ctx, domid) ) {
>          PyErr_SetString(xl_error_obj, "cannot destroy domain");
>          return NULL;
>      }
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2 of 2] libxl: remove force parameter from libxl_domain_destroy
  2011-12-05 10:24   ` Ian Campbell
@ 2011-12-05 10:36     ` Ian Campbell
  2011-12-05 10:48     ` Roger Pau Monné
  1 sibling, 0 replies; 6+ messages in thread
From: Ian Campbell @ 2011-12-05 10:36 UTC (permalink / raw)
  To: Roger Pau Monne; +Cc: xen-devel@lists.xensource.com

On Mon, 2011-12-05 at 10:24 +0000, Ian Campbell wrote:
> Did patch 1/2 get stuck somewhere? I've not seen it yet.

NM. Got it now, thanks.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2 of 2] libxl: remove force parameter from libxl_domain_destroy
  2011-12-05 10:24   ` Ian Campbell
  2011-12-05 10:36     ` Ian Campbell
@ 2011-12-05 10:48     ` Roger Pau Monné
  1 sibling, 0 replies; 6+ messages in thread
From: Roger Pau Monné @ 2011-12-05 10:48 UTC (permalink / raw)
  To: Ian Campbell; +Cc: xen-devel@lists.xensource.com

2011/12/5 Ian Campbell <Ian.Campbell@citrix.com>:
> Did patch 1/2 get stuck somewhere? I've not seen it yet.
>
> On Mon, 2011-12-05 at 10:10 +0000, Roger Pau Monne wrote:
>> # HG changeset patch
>> # User Roger Pau Monne <roger.pau@entel.upc.edu>
>> # Date 1323079605 -3600
>> # Node ID c0d51df66b829995c4eb3902b5b9914c710a6c01
>> # Parent  bc90cfd8dd220d69d09cf94a3d39ff3cef76d021
>> libxl: remove force parameter from libxl_domain_destroy
>>
>> Since a destroy is considered a forced shutdown, there's no point in
>> passing a force parameter. All the occurences of this function have
>> been replaced with the proper syntax.
>
> I'm a little concerned with the change in libxl__destroy_device_model,
> mostly because I don';t know what the expected semantics of a stub dom
> shutdown are. Perhaps it is fine to shoot such a domain in the head
> without previously giving an opportunity to shutdown?

I'm sorry, but I don't know about stubdoms, they are not working under
NetBSD *yet*, I will probably get with this once I finish porting
libxl (or a userspace blktap implementation, that's also quite
outstanding).

>>
>> Signed-off-by: Roger Pau Monne <roger.pau@entel.upc.edu>
>>
>> diff -r bc90cfd8dd22 -r c0d51df66b82 tools/libxl/libxl.c
>> --- a/tools/libxl/libxl.c     Mon Dec 05 11:06:23 2011 +0100
>> +++ b/tools/libxl/libxl.c     Mon Dec 05 11:06:45 2011 +0100
>> @@ -718,7 +718,7 @@ int libxl_event_get_disk_eject_info(libx
>>      return 1;
>>  }
>>
>> -int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid, int force)
>> +int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid)
>>  {
>>      libxl__gc gc = LIBXL_INIT_GC(ctx);
>>      libxl_dominfo dominfo;
>> @@ -767,7 +767,7 @@ int libxl_domain_destroy(libxl_ctx *ctx,
>>
>>          libxl__qmp_cleanup(&gc, domid);
>>      }
>> -    if (libxl__devices_destroy(&gc, domid, force) < 0)
>> +    if (libxl__devices_destroy(&gc, domid, 1) < 0)
>
> If I'm not missing something this seems to be the only caller of
> libxl__device_destroy. We could keep pushing this change down and remove
> the force param here too which in turns removes a bunch of code from
> libxl__devices_destroy and makes it behave like its name suggests.

I've already created another patch that changes the semantics of
libxl__device_destroy and removes the force flag and all the
unnecessary code. If no one has an objection about this change I will
resend the series later with this patch.

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2011-12-05 10:48 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-12-05 10:10 [PATCH 0 of 2] libxl: fix domain destruction with libxl hotplug script calling Roger Pau Monne
2011-12-05 10:10 ` [PATCH 1 of 2] libxl: set frontend status to 6 on domain destroy Roger Pau Monne
2011-12-05 10:10 ` [PATCH 2 of 2] libxl: remove force parameter from libxl_domain_destroy Roger Pau Monne
2011-12-05 10:24   ` Ian Campbell
2011-12-05 10:36     ` Ian Campbell
2011-12-05 10:48     ` Roger Pau Monné

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.