From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: Re: [PATCH v6 04/11] libxl: move libxl__device_from_disk to libxl_internal.c Date: Fri, 18 May 2012 15:55:49 +0100 Message-ID: <4FB662F5.2010704@citrix.com> References: <1337350125-30394-4-git-send-email-stefano.stabellini@eu.citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1337350125-30394-4-git-send-email-stefano.stabellini@eu.citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Stefano Stabellini Cc: "xen-devel@lists.xensource.com" , Ian Jackson , Ian Campbell List-Id: xen-devel@lists.xenproject.org Stefano Stabellini wrote: > Signed-off-by: Stefano Stabellini > --- > tools/libxl/libxl.c | 40 ---------------------------------------- > tools/libxl/libxl_internal.c | 40 ++++++++++++++++++++++++++++++++++++++++ > tools/libxl/libxl_internal.h | 4 ++++ > 3 files changed, 44 insertions(+), 40 deletions(-) > > diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c > index 64d2dd8..3f53da5 100644 > --- a/tools/libxl/libxl.c > +++ b/tools/libxl/libxl.c > @@ -1281,46 +1281,6 @@ int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk) > return rc; > } > > -static int libxl__device_from_disk(libxl__gc *gc, uint32_t domid, > - libxl_device_disk *disk, > - libxl__device *device) > -{ > - libxl_ctx *ctx = libxl__gc_owner(gc); > - int devid; > - > - devid = libxl__device_disk_dev_number(disk->vdev, NULL, NULL); > - if (devid==-1) { > - LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported" > - " virtual disk identifier %s", disk->vdev); > - return ERROR_INVAL; > - } > - > - device->backend_domid = disk->backend_domid; > - device->backend_devid = devid; > - > - switch (disk->backend) { > - case LIBXL_DISK_BACKEND_PHY: > - device->backend_kind = LIBXL__DEVICE_KIND_VBD; > - break; > - case LIBXL_DISK_BACKEND_TAP: > - device->backend_kind = LIBXL__DEVICE_KIND_VBD; > - break; > - case LIBXL_DISK_BACKEND_QDISK: > - device->backend_kind = LIBXL__DEVICE_KIND_QDISK; > - break; > - default: > - LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", > - disk->backend); > - return ERROR_INVAL; > - } > - > - device->domid = domid; > - device->devid = devid; > - device->kind = LIBXL__DEVICE_KIND_VBD; > - > - return 0; > -} > - > int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk) > { > GC_INIT(ctx); > diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c > index 5e5083b..276429c 100644 > --- a/tools/libxl/libxl_internal.c > +++ b/tools/libxl/libxl_internal.c > @@ -429,6 +429,46 @@ libxl_device_model_version libxl__device_model_version_running(libxl__gc *gc, > return value; > } > > +int libxl__device_from_disk(libxl__gc *gc, uint32_t domid, > + libxl_device_disk *disk, > + libxl__device *device) I think this should be moved to libxl_device instead of libxl_internal, since it's a device related function. > +{ > + libxl_ctx *ctx = libxl__gc_owner(gc); > + int devid; > + > + devid = libxl__device_disk_dev_number(disk->vdev, NULL, NULL); > + if (devid==-1) { > + LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Invalid or unsupported" > + " virtual disk identifier %s", disk->vdev); > + return ERROR_INVAL; > + } > + > + device->backend_domid = disk->backend_domid; > + device->backend_devid = devid; > + > + switch (disk->backend) { > + case LIBXL_DISK_BACKEND_PHY: > + device->backend_kind = LIBXL__DEVICE_KIND_VBD; > + break; > + case LIBXL_DISK_BACKEND_TAP: > + device->backend_kind = LIBXL__DEVICE_KIND_VBD; > + break; > + case LIBXL_DISK_BACKEND_QDISK: > + device->backend_kind = LIBXL__DEVICE_KIND_QDISK; > + break; > + default: > + LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk backend type: %d\n", > + disk->backend); > + return ERROR_INVAL; > + } > + > + device->domid = domid; > + device->devid = devid; > + device->kind = LIBXL__DEVICE_KIND_VBD; > + > + return 0; > +} > + > /* > * Local variables: > * mode: C > diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h > index cb5393d..3578414 100644 > --- a/tools/libxl/libxl_internal.h > +++ b/tools/libxl/libxl_internal.h > @@ -1233,6 +1233,10 @@ _hidden char *libxl__blktap_devpath(libxl__gc *gc, > */ > _hidden void libxl__device_destroy_tapdisk(libxl__gc *gc, char *be_path); > > +_hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid, > + libxl_device_disk *disk, > + libxl__device *device); > + > /* > * Make a disk available in this (the control) domain. Returns path to > * a device.