[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 2 of 2] libxl: remove force parameter from libxl_domain_destroy
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@xxxxxxxxxxxxx> > # 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@xxxxxxxxxxxxx> > > 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@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |