Message ID | 20170913134409.10815-1-wei.liu2@citrix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Sep 13, 2017 at 4:44 PM, Wei Liu <wei.liu2@citrix.com> wrote: > The two functions, unlike a lot others, were hand-coded. They were > deleted by accident while the device framework was reworked. Add them > back. > > Reported-by: Andrew Cooper <andrew.cooper3@citrix.com> > Signed-off-by: Wei Liu <wei.liu2@citrix.com> > --- > Cc: Ian Jackson <ian.jackson@eu.citrix.com> > Cc: Oleksandr Grytsov <oleksandr_grytsov@epam.com> > Cc: Andrew Cooper <andrew.cooper3@citrix.com> > --- > tools/libxl/libxl_console.c | 34 ++++++++++++++++++++++++++++++++++ > 1 file changed, 34 insertions(+) > > diff --git a/tools/libxl/libxl_console.c b/tools/libxl/libxl_console.c > index 6dcad8a88a..68511d7dc5 100644 > --- a/tools/libxl/libxl_console.c > +++ b/tools/libxl/libxl_console.c > @@ -603,6 +603,23 @@ static int libxl__device_from_vkb(libxl__gc *gc, uint32_t domid, > return 0; > } > > +int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb, > + const libxl_asyncop_how *ao_how) > +{ > + AO_CREATE(ctx, domid, ao_how); > + int rc; > + > + rc = libxl__device_add(gc, domid, &libxl__vkb_devtype, vkb); > + if (rc) { > + LOGD(ERROR, domid, "Unable to add vkb device"); > + goto out; > + } > + > +out: > + libxl__ao_complete(egc, ao, rc); > + return AO_INPROGRESS; > +} > + > static LIBXL_DEFINE_UPDATE_DEVID(vkb, "vkb") > > static int libxl__device_vfb_setdefault(libxl__gc *gc, uint32_t domid, > @@ -642,6 +659,23 @@ static int libxl__device_from_vfb(libxl__gc *gc, uint32_t domid, > return 0; > } > > +int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb, > + const libxl_asyncop_how *ao_how) > +{ > + AO_CREATE(ctx, domid, ao_how); > + int rc; > + > + rc = libxl__device_add(gc, domid, &libxl__vfb_devtype, vfb); > + if (rc) { > + LOGD(ERROR, domid, "Unable to add vfb device"); > + goto out; > + } > + > +out: > + libxl__ao_complete(egc, ao, rc); > + return AO_INPROGRESS; > +} > + > static LIBXL_DEFINE_UPDATE_DEVID(vfb, "vfb") > > static int libxl__set_xenstore_vfb(libxl__gc *gc, uint32_t domid, > -- > 2.11.0 > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > https://lists.xen.org/xen-devel I've removed these functions as they weren't used. For proper removing they should be removed from header as well. If they are required by some extern application could they use generic async function to add vkb and vfb as other devices use: static void libxl__device_vkb_add(libxl__egc *egc, uint32_t domid, libxl_device_vkb *vkb, libxl__ao_device *aodev) { libxl__device_add_async(egc, domid, &libxl__vkb_devtype, vkb, aodev); } LIBXL_DEFINE_DEVICE_ADD(vkb) ?
On Thu, Sep 14, 2017 at 05:27:07PM +0300, Oleksandr Grytsov wrote: > > I've removed these functions as they weren't used. For proper removing > they should be removed from header as well. > If they are required by some extern application could they use generic > async function to add vkb and vfb as other devices use: > They were public functions. That means they can be used by any libxl users, not just xl. > static void libxl__device_vkb_add(libxl__egc *egc, uint32_t domid, > libxl_device_vkb *vkb, > libxl__ao_device *aodev) > { > libxl__device_add_async(egc, domid, &libxl__vkb_devtype, vkb, aodev); > } > > LIBXL_DEFINE_DEVICE_ADD(vkb) Then that change them from sync to async. I didn't have the time to work out if that would be okay so I played safe here.
Wei Liu writes ("Re: [Xen-devel] [PATCH] libxl: add back libxl_device_v{k,f}b_add"): > On Thu, Sep 14, 2017 at 05:27:07PM +0300, Oleksandr Grytsov wrote: > > > > I've removed these functions as they weren't used. For proper removing > > they should be removed from header as well. > > If they are required by some extern application could they use generic > > async function to add vkb and vfb as other devices use: > > > > They were public functions. That means they can be used by any libxl > users, not just xl. Surely only libxl_device_vkb_add is public and the other is the implementation. Anyway, Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Thanks, Ian.
diff --git a/tools/libxl/libxl_console.c b/tools/libxl/libxl_console.c index 6dcad8a88a..68511d7dc5 100644 --- a/tools/libxl/libxl_console.c +++ b/tools/libxl/libxl_console.c @@ -603,6 +603,23 @@ static int libxl__device_from_vkb(libxl__gc *gc, uint32_t domid, return 0; } +int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb, + const libxl_asyncop_how *ao_how) +{ + AO_CREATE(ctx, domid, ao_how); + int rc; + + rc = libxl__device_add(gc, domid, &libxl__vkb_devtype, vkb); + if (rc) { + LOGD(ERROR, domid, "Unable to add vkb device"); + goto out; + } + +out: + libxl__ao_complete(egc, ao, rc); + return AO_INPROGRESS; +} + static LIBXL_DEFINE_UPDATE_DEVID(vkb, "vkb") static int libxl__device_vfb_setdefault(libxl__gc *gc, uint32_t domid, @@ -642,6 +659,23 @@ static int libxl__device_from_vfb(libxl__gc *gc, uint32_t domid, return 0; } +int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb, + const libxl_asyncop_how *ao_how) +{ + AO_CREATE(ctx, domid, ao_how); + int rc; + + rc = libxl__device_add(gc, domid, &libxl__vfb_devtype, vfb); + if (rc) { + LOGD(ERROR, domid, "Unable to add vfb device"); + goto out; + } + +out: + libxl__ao_complete(egc, ao, rc); + return AO_INPROGRESS; +} + static LIBXL_DEFINE_UPDATE_DEVID(vfb, "vfb") static int libxl__set_xenstore_vfb(libxl__gc *gc, uint32_t domid,
The two functions, unlike a lot others, were hand-coded. They were deleted by accident while the device framework was reworked. Add them back. Reported-by: Andrew Cooper <andrew.cooper3@citrix.com> Signed-off-by: Wei Liu <wei.liu2@citrix.com> --- Cc: Ian Jackson <ian.jackson@eu.citrix.com> Cc: Oleksandr Grytsov <oleksandr_grytsov@epam.com> Cc: Andrew Cooper <andrew.cooper3@citrix.com> --- tools/libxl/libxl_console.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+)