From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vincent Hanquez Subject: [PATCH 1/5] add some return values testing in stubdom Date: Wed, 13 Jan 2010 16:14:51 +0000 Message-ID: <1263399295-19453-2-git-send-email-vincent.hanquez@eu.citrix.com> References: <1263399295-19453-1-git-send-email-vincent.hanquez@eu.citrix.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------1.6.6" Return-path: In-Reply-To: <1263399295-19453-1-git-send-email-vincent.hanquez@eu.citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com Cc: Vincent Hanquez List-Id: xen-devel@lists.xenproject.org --------------1.6.6 Content-Type: text/plain; charset="UTF-8"; format=fixed Content-Transfer-Encoding: quoted-printable Signed-off-by: Vincent Hanquez --- tools/libxl/libxl.c | 35 +++++++++++++++++++++++++---------- 1 files changed, 25 insertions(+), 10 deletions(-) --------------1.6.6 Content-Type: text/x-patch; name="0001-add-some-return-values-testing-in-stubdom.patch" Content-Disposition: attachment; filename="0001-add-some-return-values-testing-in-stubdom.patch" Content-Transfer-Encoding: quoted-printable diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c index df3ddc0..ede485b 100644 --- a/tools/libxl/libxl.c +++ b/tools/libxl/libxl.c @@ -824,7 +824,7 @@ static int libxl_create_stubdom(struct libxl_ctx *ctx= , libxl_device_vkb *vkb, libxl_device_model_starting **starting_r= ) { - int i, num_console =3D 1; + int i, num_console =3D 1, ret; libxl_device_console *console; libxl_domain_create_info c_info; libxl_domain_build_info b_info; @@ -855,12 +855,18 @@ static int libxl_create_stubdom(struct libxl_ctx *c= tx, b_info.u.pv.features =3D ""; b_info.hvm =3D 0; =20 - libxl_domain_make(ctx, &c_info, &domid); - libxl_domain_build(ctx, &b_info, domid, &state); + ret =3D libxl_domain_make(ctx, &c_info, &domid); + if (ret) return ret; + ret =3D libxl_domain_build(ctx, &b_info, domid, &state); + if (ret) return ret; =20 libxl_write_dmargs(ctx, domid, info->domid, args); - libxl_xs_write(ctx, XBT_NULL, libxl_sprintf(ctx, "%s/image/device-mo= del-domid", libxl_xs_get_dompath(ctx, info->domid)), "%d", domid); - libxl_xs_write(ctx, XBT_NULL, libxl_sprintf(ctx, "%s/target", libxl_= xs_get_dompath(ctx, domid)), "%d", info->domid); + libxl_xs_write(ctx, XBT_NULL, + libxl_sprintf(ctx, "%s/image/device-model-domid", lib= xl_xs_get_dompath(ctx, info->domid)), + "%d", domid); + libxl_xs_write(ctx, XBT_NULL, + libxl_sprintf(ctx, "%s/target", libxl_xs_get_dompath(= ctx, domid)), + "%d", info->domid); xc_domain_set_target(ctx->xch, domid, info->domid); xs_set_target(ctx->xsh, domid, info->domid); =20 @@ -880,27 +886,36 @@ retry_transaction: =20 for (i =3D 0; i < num_disks; i++) { disks[i].domid =3D domid; - libxl_device_disk_add(ctx, domid, &disks[i]); + ret =3D libxl_device_disk_add(ctx, domid, &disks[i]); + if (ret) return ret; } for (i =3D 0; i < num_vifs; i++) { vifs[i].domid =3D domid; - libxl_device_nic_add(ctx, domid, &vifs[i]); + ret =3D libxl_device_nic_add(ctx, domid, &vifs[i]); + if (ret) return ret; } vfb->domid =3D domid; - libxl_device_vfb_add(ctx, domid, vfb); + ret =3D libxl_device_vfb_add(ctx, domid, vfb); + if (ret) return ret; vkb->domid =3D domid; - libxl_device_vkb_add(ctx, domid, vkb); + ret =3D libxl_device_vkb_add(ctx, domid, vkb); + if (ret) return ret; =20 if (info->serial) num_console++; + console =3D libxl_calloc(ctx, num_console, sizeof(libxl_device_conso= le)); + if (!console) + return ERROR_NOMEM; + for (i =3D 0; i < num_console; i++) { console[i].devid =3D i; console[i].constype =3D CONSTYPE_IOEMU; console[i].domid =3D domid; if (!i) console[i].build_state =3D &state; - libxl_device_console_add(ctx, domid, &console[i]); + ret =3D libxl_device_console_add(ctx, domid, &console[i]); + if (ret) return ret; } if (libxl_create_xenpv_qemu(ctx, vfb, num_console, console, &dm_star= ting) < 0) { free(args); --------------1.6.6 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 --------------1.6.6--