[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 04 of 16 RFC] blktap3: change libxl__blktap_devpath prototype to return an error code
Make libxl__blktap_devpath return an error code instead of the device, since there is no device in dom0 any more. Amend the libxl code that uses this functions accordingly. diff -r 80e0bc67dcda -r bcb5a6182868 tools/libxl/libxl.c --- a/tools/libxl/libxl.c Wed Oct 24 17:24:53 2012 +0100 +++ b/tools/libxl/libxl.c Wed Oct 24 17:25:02 2012 +0100 @@ -1844,13 +1844,14 @@ static void device_disk_add(libxl__egc * break; case LIBXL_DISK_BACKEND_TAP: - dev = libxl__blktap_devpath(gc, disk->pdev_path, disk->format); - if (!dev) { - LOG(ERROR, "failed to get blktap devpath for %p\n", - disk->pdev_path); + rc = libxl__blktap_devpath(gc, disk->pdev_path, disk->format); + if (rc) { + LOG(ERROR, "failed to get blktap devpath for %s: %s\n", + disk->pdev_path, strerror(rc)); rc = ERROR_FAIL; goto out; } + dev = NULL; flexarray_append(back, "tapdisk-params"); flexarray_append(back, libxl__sprintf(gc, "%s:%s", libxl__device_disk_string_of_format(disk->format), @@ -2277,8 +2278,13 @@ void libxl__device_disk_local_initiate_a dev = disk->pdev_path; break; case LIBXL_DISK_FORMAT_VHD: - dev = libxl__blktap_devpath(gc, disk->pdev_path, - disk->format); + rc = libxl__blktap_devpath(gc, disk->pdev_path, disk->format); + if (!rc) { + LIBXL__LOG(ctx, LIBXL__LOG_ERROR, + "error getting tapdisk: %s", strerror(rc)); + rc = ERROR_FAIL; + goto out; + } break; case LIBXL_DISK_FORMAT_QCOW: case LIBXL_DISK_FORMAT_QCOW2: diff -r 80e0bc67dcda -r bcb5a6182868 tools/libxl/libxl_blktap3.c --- a/tools/libxl/libxl_blktap3.c Wed Oct 24 17:24:53 2012 +0100 +++ b/tools/libxl/libxl_blktap3.c Wed Oct 24 17:25:02 2012 +0100 @@ -5,9 +5,9 @@ int libxl__blktap_enabled(libxl__gc *gc) return 1; } -char *libxl__blktap_devpath(libxl__gc *gc, const char *disk, +int libxl__blktap_devpath(libxl__gc *gc, const char *disk, libxl_disk_format format) { - return NULL; + return -ENOSYS; } int libxl__device_destroy_tapdisk(libxl__gc *gc, const char *be_path) { diff -r 80e0bc67dcda -r bcb5a6182868 tools/libxl/libxl_internal.h --- a/tools/libxl/libxl_internal.h Wed Oct 24 17:24:53 2012 +0100 +++ b/tools/libxl/libxl_internal.h Wed Oct 24 17:25:02 2012 +0100 @@ -1344,10 +1344,9 @@ struct libxl__cpuid_policy { /* libxl__blktap_devpath: * Argument: path and disk image as specified in config file. * The type specifies whether this is aio, qcow, qcow2, etc. - * returns device path xenstore wants to have. returns NULL - * if no device corresponds to the disk. + * returns 0 on success, an error code otherwise */ -_hidden char *libxl__blktap_devpath(libxl__gc *gc, +_hidden int libxl__blktap_devpath(libxl__gc *gc, const char *disk, libxl_disk_format format); _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |