From mboxrd@z Thu Jan 1 00:00:00 1970 From: ZhouPeng Subject: Re: Re: [PATCH] libxl: initialize domid to 0 in libxl__create_stubdom Date: Tue, 21 Jun 2011 11:29:52 +0800 Message-ID: References: <1307595829.8990.9.camel@limbo> <1307606121.775.761.camel@zakaz.uk.xensource.com> <1307608287.31235.17.camel@limbo> <1307615031.775.810.camel@zakaz.uk.xensource.com> <19963.37638.19033.472036@mariner.uk.xensource.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=bcaec53147431a7bab04a6307783 Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Stefano Stabellini Cc: Ian Campbell , "xen-devel@lists.xensource.com" , Ian Jackson , Wei Liu List-Id: xen-devel@lists.xenproject.org --bcaec53147431a7bab04a6307783 Content-Type: text/plain; charset=ISO-8859-1 I think it should be both an input and output parameter, which allows caller/user to provide a given domid, if the given domid <= 0, it meas to request the hypervisor to assign the next free id. so "assert(!libxl_domid_valid_guest(*domid));" is necessary and '*domid = -1;' should be cut out. in libxl__domain_make If any mistake, pls fix me My patch for this: --- libxl: fix domid check err. It should meet the XEN_DOMCTL_createdomain hypercall Signed-off-by: Zhou Peng diff -r eca057e4475c tools/libxl/libxl_create.c --- a/tools/libxl/libxl_create.c Fri Jun 17 08:08:13 2011 +0100 +++ b/tools/libxl/libxl_create.c Tue Jun 21 11:02:51 2011 +0800 @@ -295,7 +295,8 @@ int libxl__domain_make(libxl__gc *gc, li xs_transaction_t t = 0; xen_domain_handle_t handle; - assert(!libxl_domid_valid_guest(*domid)); + if (*domid > 0) + assert(!libxl_domid_valid_guest(*domid)); uuid_string = libxl__uuid2string(gc, info->uuid); if (!uuid_string) { @@ -306,7 +307,8 @@ int libxl__domain_make(libxl__gc *gc, li flags = info->hvm ? XEN_DOMCTL_CDF_hvm_guest : 0; flags |= info->hap ? XEN_DOMCTL_CDF_hap : 0; flags |= info->oos ? 0 : XEN_DOMCTL_CDF_oos_off; - *domid = -1; + if (*domid < 0) + *domid = -1; /* Ultimately, handle is an array of 16 uint8_t, same as uuid */ libxl_uuid_copy((libxl_uuid *)handle, &info->uuid); 2011/6/21 Stefano Stabellini : > If we decide to make domid an output parameter only, then > > uint32_t domid; > > isn't a bug anymore. > Have you read http://marc.info/?l=xen-devel&m=130763064528133? -- Zhou Peng Operating System Technology Group Institute of Software, the Chinese Academy of Sciences (ISCAS) --bcaec53147431a7bab04a6307783 Content-Type: application/octet-stream; name=libxl-fix-domid-check-err Content-Disposition: attachment; filename=libxl-fix-domid-check-err Content-Transfer-Encoding: base64 X-Attachment-Id: f_gp6akbog0 bGlieGw6IGZpeCBkb21pZCBjaGVjayBlcnIuDQpJdCBzaG91bGQgbWVldCB0aGUgWEVOX0RPTUNU TF9jcmVhdGVkb21haW4gaHlwZXJjYWxsDQoNClNpZ25lZC1vZmYtYnk6IFpob3UgUGVuZyA8emhv dXBlbmdAbmZzLmlzY2FzLmFjLmNuPg0KDQpkaWZmIC1yIGVjYTA1N2U0NDc1YyB0b29scy9saWJ4 bC9saWJ4bF9jcmVhdGUuYw0KLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMgICAgICAg IEZyaSBKdW4gMTcgMDg6MDg6MTMgMjAxMSArMDEwMA0KKysrIGIvdG9vbHMvbGlieGwvbGlieGxf Y3JlYXRlLmMgICAgICAgIFR1ZSBKdW4gMjEgMTE6MDI6NTEgMjAxMSArMDgwMA0KQEAgLTI5NSw3 ICsyOTUsOCBAQCBpbnQgbGlieGxfX2RvbWFpbl9tYWtlKGxpYnhsX19nYyAqZ2MsIGxpDQogICAg IHhzX3RyYW5zYWN0aW9uX3QgdCA9IDA7DQogICAgIHhlbl9kb21haW5faGFuZGxlX3QgaGFuZGxl Ow0KIA0KLSAgICBhc3NlcnQoIWxpYnhsX2RvbWlkX3ZhbGlkX2d1ZXN0KCpkb21pZCkpOw0KKyAg ICBpZiAoKmRvbWlkID4gMCkNCisgICAgICAgIGFzc2VydCghbGlieGxfZG9taWRfdmFsaWRfZ3Vl c3QoKmRvbWlkKSk7DQogDQogICAgIHV1aWRfc3RyaW5nID0gbGlieGxfX3V1aWQyc3RyaW5nKGdj LCBpbmZvLT51dWlkKTsNCiAgICAgaWYgKCF1dWlkX3N0cmluZykgew0KQEAgLTMwNiw3ICszMDcs OCBAQCBpbnQgbGlieGxfX2RvbWFpbl9tYWtlKGxpYnhsX19nYyAqZ2MsIGxpDQogICAgIGZsYWdz ID0gaW5mby0+aHZtID8gWEVOX0RPTUNUTF9DREZfaHZtX2d1ZXN0IDogMDsNCiAgICAgZmxhZ3Mg fD0gaW5mby0+aGFwID8gWEVOX0RPTUNUTF9DREZfaGFwIDogMDsNCiAgICAgZmxhZ3MgfD0gaW5m by0+b29zID8gMCA6IFhFTl9ET01DVExfQ0RGX29vc19vZmY7DQotICAgICpkb21pZCA9IC0xOw0K KyAgICBpZiAoKmRvbWlkIDwgMCkNCisgICAgICAgICpkb21pZCA9IC0xOw0KIA0KICAgICAvKiBV bHRpbWF0ZWx5LCBoYW5kbGUgaXMgYW4gYXJyYXkgb2YgMTYgdWludDhfdCwgc2FtZSBhcyB1dWlk ICovDQogICAgIGxpYnhsX3V1aWRfY29weSgobGlieGxfdXVpZCAqKWhhbmRsZSwgJmluZm8tPnV1 aWQpOwo= --bcaec53147431a7bab04a6307783 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --bcaec53147431a7bab04a6307783--