[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 1/3] libxl: add 2 consoles to stubdoms for save/restore
On Wed, 19 Jan 2011, Ian Campbell wrote: > On Tue, 2011-01-18 at 17:17 +0000, Stefano Stabellini wrote: > > Add two "special" PV consoles to stubdoms that are going to be used > > to send and receive the qemu-xen save files on save/restore. > > > > Rename the save file on resume so that it doesn't collide with the name > > of the next save file. > > > > Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> > > > > > > diff -r 59396addc940 tools/libxl/libxl.c > > --- a/tools/libxl/libxl.c Fri Jan 14 14:26:11 2011 +0000 > > +++ b/tools/libxl/libxl.c Tue Jan 18 17:09:56 2011 +0000 > > @@ -750,7 +750,7 @@ int libxl_primary_console_exec(libxl_ctx > > { > > uint32_t stubdomid = libxl_get_stubdom_id(ctx, domid_vm); > > if (stubdomid) > > - return libxl_console_exec(ctx, stubdomid, 1, LIBXL_CONSTYPE_PV); > > + return libxl_console_exec(ctx, stubdomid, 3, LIBXL_CONSTYPE_PV); > > #define STUBDOM_CONSOLE_xxx or an enum to give a symbolic name to each > of the 3-4 console numbers. good idea > > > else { > > if (libxl__domain_is_hvm(ctx, domid_vm)) > > return libxl_console_exec(ctx, domid_vm, 0, > > LIBXL_CONSTYPE_SERIAL); > > diff -r 59396addc940 tools/libxl/libxl_create.c > > --- a/tools/libxl/libxl_create.c Fri Jan 14 14:26:11 2011 +0000 > > +++ b/tools/libxl/libxl_create.c Tue Jan 18 17:09:56 2011 +0000 > > @@ -250,8 +250,12 @@ static int domain_restore(libxl_ctx *ctx > > > > dm_info->saved_state = NULL; > > if (info->hvm) { > > + char buf[100]; > > + snprintf(buf, sizeof(buf), "/var/lib/xen/qemu-save.%d", domid); > > ret = asprintf(&dm_info->saved_state, > > - "/var/lib/xen/qemu-save.%d", domid); > > + "/var/lib/xen/qemu-restore.%d", domid); > > These two strings end up in a couple of places, probably worth either a > #define or libxl__domain_dm_{save,restore}_path(...). > considering that the restore string comes from libxc I'll go with an #define > char buf[100] is pretty ugly too. Either use the relevant libxl_Xprintf > or a number much smaller than 100 since domid is bounded -- i.e. > strlen("/var/lib/xen/qemu-save.") + strlen("65536") (+ 1?). 32 seems to > be more than sufficient. > I am going to remove it and modify libxc to save to a different filename in the first place > [...] > > + case 1: > > + console[i].output = libxl__sprintf(&gc, > > "file:/var/lib/xen/qemu-save.%d", info->domid); > > + break; > > + case 2: > > + if (info->saved_state) > > + console[i].output = libxl__sprintf(&gc, "filerw:%s", > > info->saved_state); > > These "file:" and "filerw:" prefixed things are interpreted by qemu > within the stub domain? No, they are interpreted by the console backend in dom0 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |