[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] xl: avoid creating domains with duplicate names
I wrote: > OK, thanks, I'll take that as an ack. I have applied my patch and > will post a revised version of yours on a moment. TBH I think this restriction should be in libxl (in libxl_domain_rename), rather than in xl. But that would require too intrusive a set of changes at this stage. xl: avoid creating domains with duplicate names Do not create the domain if another domain with the same name is already running. This is another error-checking function at rather too high a level: this should be moved into libxl_domain_rename in 4.2. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> diff -r 67d5b8004947 tools/libxl/xl_cmdimpl.c --- a/tools/libxl/xl_cmdimpl.c Wed Jan 26 11:58:45 2011 +0000 +++ b/tools/libxl/xl_cmdimpl.c Wed Jan 26 12:02:37 2011 +0000 @@ -583,6 +583,7 @@ static void parse_config_data(const char XLU_ConfigList *vbds, *nics, *pcis, *cvfbs, *net2s, *cpuids; int pci_power_mgmt = 0; int pci_msitranslate = 1; + uint32_t domid_e; int e; libxl_domain_create_info *c_info = &d_config->c_info; @@ -612,6 +613,15 @@ static void parse_config_data(const char if (xlu_cfg_replace_string (config, "name", &c_info->name)) c_info->name = strdup("test"); + e = libxl_name_to_domid(&ctx, c_info->name, &domid_e); + if (!e) { + fprintf(stderr, "A domain with name \"%s\" already exists.\n", c_info->name); + exit(1); + } + if (e != ERROR_INVAL) { + fprintf(stderr, "Unexpected error checking for existing domain" + " (error=%d)", e); + } if (!xlu_cfg_get_string (config, "uuid", &buf) ) { if ( libxl_uuid_from_string(&c_info->uuid, buf) ) { _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |