[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH,v7]: xl: randomly generate UUID's
This seems to have exposed a bug in the userdata scheme which breaks localhost live migration. Attempted fix is below. I'm a little bit concerned that it might expose leaks or other occasions where we loose track of userdata but I think it is correct. Ian. # HG changeset patch # User Ian Campbell <ian.campbell@xxxxxxxxxx> # Date 1283766752 -3600 # Node ID 75449758ea76cc3fd75a906ba827c51d10e62428 # Parent a4b74331bed1aa2ebec68af2a2d9306d7d41986f libxl: include domain id in userdata path. The userdata is specific to a particular incarnation of a domain and the patch is therefor required to be unique to each incarnation. If the user has explicitly configured a UUID in their domain configuration then the path is no longer unique since 22124:22366e13f76d "xl: randomly generate UUIDs" which (correctly) caused the uuid domain configuration option to be obeyed. If userdata is not unique to each incarnation of a domain then localhost live migration is broken because the target is created (and writes its userdata) before the sender destroys the domain (and deletes its userdata). Strictly speaking I think the UUID is unnecessary but it is perhaps helpful to people looking in the userdata directory, for debugging etc. Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> diff -r a4b74331bed1 -r 75449758ea76 tools/libxl/libxl_dom.c --- a/tools/libxl/libxl_dom.c Mon Sep 06 10:47:31 2010 +0100 +++ b/tools/libxl/libxl_dom.c Mon Sep 06 10:52:32 2010 +0100 @@ -466,8 +466,8 @@ static const char *userdata_path(libxl_g uuid_string = libxl_sprintf(gc, LIBXL_UUID_FMT, LIBXL_UUID_BYTES(info.uuid)); path = libxl_sprintf(gc, "/var/lib/xen/" - "userdata-%s.%s.%s", - wh, uuid_string, userdata_userid); + "userdata-%s.%u.%s.%s", + wh, domid, uuid_string, userdata_userid); if (!path) XL_LOG_ERRNO(ctx, XL_LOG_ERROR, "unable to allocate for" " userdata path"); _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |