[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 4/6] tools: Introduce a non-truncating xc_xenver_changeset()
> On 17 Jan 2023, at 13:53, Andrew Cooper <andrew.cooper3@xxxxxxxxxx> wrote: > > Update libxl and the ocaml stubs to match. No API/ABI change in either. > > Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Acked-by: Christian Lindig <christian.lindig@xxxxxxxxxx> > --- > CC: Wei Liu <wl@xxxxxxx> > CC: Anthony PERARD <anthony.perard@xxxxxxxxxx> > CC: Juergen Gross <jgross@xxxxxxxx> > CC: Christian Lindig <christian.lindig@xxxxxxxxxx> > CC: David Scott <dave@xxxxxxxxxx> > CC: Edwin Torok <edvin.torok@xxxxxxxxxx> > CC: Rob Hoes <Rob.Hoes@xxxxxxxxxx> > --- > tools/include/xenctrl.h | 1 + > tools/libs/ctrl/xc_version.c | 5 +++++ > tools/libs/light/libxl.c | 5 +---- > tools/ocaml/libs/xc/xenctrl_stubs.c | 19 ++++++++----------- > 4 files changed, 15 insertions(+), 15 deletions(-) > > diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h > index 279dc17d67d4..48dbf3eab75f 100644 > --- a/tools/include/xenctrl.h > +++ b/tools/include/xenctrl.h > @@ -1610,6 +1610,7 @@ int xc_version(xc_interface *xch, int cmd, void *arg); > */ > char *xc_xenver_extraversion(xc_interface *xch); > char *xc_xenver_capabilities(xc_interface *xch); > +char *xc_xenver_changeset(xc_interface *xch); > > int xc_flask_op(xc_interface *xch, xen_flask_op_t *op); > > diff --git a/tools/libs/ctrl/xc_version.c b/tools/libs/ctrl/xc_version.c > index 512302a393ea..9f2cae03dba8 100644 > --- a/tools/libs/ctrl/xc_version.c > +++ b/tools/libs/ctrl/xc_version.c > @@ -161,3 +161,8 @@ char *xc_xenver_capabilities(xc_interface *xch) > { > return varbuf_simple_string(xch, XENVER_capabilities2); > } > + > +char *xc_xenver_changeset(xc_interface *xch) > +{ > + return varbuf_simple_string(xch, XENVER_changeset2); > +} > diff --git a/tools/libs/light/libxl.c b/tools/libs/light/libxl.c > index 139e838d1407..80e763aba944 100644 > --- a/tools/libs/light/libxl.c > +++ b/tools/libs/light/libxl.c > @@ -582,7 +582,6 @@ const libxl_version_info* > libxl_get_version_info(libxl_ctx *ctx) > GC_INIT(ctx); > union { > xen_compile_info_t xen_cc; > - xen_changeset_info_t xen_chgset; > xen_platform_parameters_t p_parms; > xen_commandline_t xen_commandline; > xen_build_id_t build_id; > @@ -607,9 +606,7 @@ const libxl_version_info* > libxl_get_version_info(libxl_ctx *ctx) > info->compile_date = libxl__strdup(NOGC, u.xen_cc.compile_date); > > info->capabilities = xc_xenver_capabilities(ctx->xch); > - > - xc_version(ctx->xch, XENVER_changeset, &u.xen_chgset); > - info->changeset = libxl__strdup(NOGC, u.xen_chgset); > + info->changeset = xc_xenver_changeset(ctx->xch); > > xc_version(ctx->xch, XENVER_platform_parameters, &u.p_parms); > info->virt_start = u.p_parms.virt_start; > diff --git a/tools/ocaml/libs/xc/xenctrl_stubs.c > b/tools/ocaml/libs/xc/xenctrl_stubs.c > index 368f4727f0a0..291e92db7300 100644 > --- a/tools/ocaml/libs/xc/xenctrl_stubs.c > +++ b/tools/ocaml/libs/xc/xenctrl_stubs.c > @@ -983,27 +983,24 @@ CAMLprim value stub_xc_version_compile_info(value xch) > } > > > -static value xc_version_single_string(value xch, int code, void *info) > +CAMLprim value stub_xc_version_changeset(value xch) > { > CAMLparam1(xch); > - int retval; > + CAMLlocal1(result); > + char *changeset; > > caml_enter_blocking_section(); > - retval = xc_version(_H(xch), code, info); > + retval = xc_xenver_changeset(_H(xch)); > caml_leave_blocking_section(); > > - if (retval) > + if (!changeset) > failwith_xc(_H(xch)); > > - CAMLreturn(caml_copy_string((char *)info)); > -} > + result = caml_copy_string(changeset); > > + free(changeset); > > -CAMLprim value stub_xc_version_changeset(value xch) > -{ > - xen_changeset_info_t ci; > - > - return xc_version_single_string(xch, XENVER_changeset, &ci); > + CAMLreturn(result); > } > > > -- > 2.11.0 >
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |