[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] libxl: Cleanup, use LOG*, GCSPRINTF and CTX macros in libxl_device.c
From: Alexandra Sava <alexandrasava18@xxxxxxxxx> --- tools/libxl/libxl_device.c | 122 +++++++++++++++++++------------------------- 1 file changed, 53 insertions(+), 69 deletions(-) diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c index 16a92a4..b36fb13 100644 --- a/tools/libxl/libxl_device.c +++ b/tools/libxl/libxl_device.c @@ -24,20 +24,20 @@ char *libxl__device_frontend_path(libxl__gc *gc, libxl__device *device) /* Console 0 is a special case */ if (device->kind == LIBXL__DEVICE_KIND_CONSOLE && device->devid == 0) - return libxl__sprintf(gc, "%s/console", dom_path); + return GCSPRINTF("%s/console", dom_path); - return libxl__sprintf(gc, "%s/device/%s/%d", dom_path, - libxl__device_kind_to_string(device->kind), - device->devid); + return GCSPRINTF("%s/device/%s/%d", dom_path, + libxl__device_kind_to_string(device->kind), + device->devid); } char *libxl__device_backend_path(libxl__gc *gc, libxl__device *device) { char *dom_path = libxl__xs_get_dompath(gc, device->backend_domid); - return libxl__sprintf(gc, "%s/backend/%s/%u/%d", dom_path, - libxl__device_kind_to_string(device->backend_kind), - device->domid, device->devid); + return GCSPRINTF("%s/backend/%s/%u/%d", dom_path, + libxl__device_kind_to_string(device->backend_kind), + device->domid, device->devid); } int libxl__parse_backend_path(libxl__gc *gc, @@ -86,7 +86,7 @@ out: int libxl__device_generic_add(libxl__gc *gc, xs_transaction_t t, libxl__device *device, char **bents, char **fents, char **ro_fents) { - libxl_ctx *ctx = libxl__gc_owner(gc); + libxl_ctx *ctx = CTX; char *frontend_path, *backend_path; struct xs_permissions frontend_perms[2]; struct xs_permissions ro_frontend_perms[2]; @@ -125,7 +125,7 @@ retry_transaction: else xs_set_permissions(ctx->xsh, t, frontend_path, frontend_perms, ARRAY_SIZE(frontend_perms)); - xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/backend", frontend_path), backend_path, strlen(backend_path)); + xs_write(ctx->xsh, t, GCSPRINTF("%s/backend", frontend_path), backend_path, strlen(backend_path)); if (fents) libxl__xs_writev_perms(gc, t, frontend_path, fents, frontend_perms, ARRAY_SIZE(frontend_perms)); @@ -138,7 +138,7 @@ retry_transaction: xs_rm(ctx->xsh, t, backend_path); xs_mkdir(ctx->xsh, t, backend_path); xs_set_permissions(ctx->xsh, t, backend_path, backend_perms, ARRAY_SIZE(backend_perms)); - xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/frontend", backend_path), frontend_path, strlen(frontend_path)); + xs_write(ctx->xsh, t, GCSPRINTF("%s/frontend", backend_path), frontend_path, strlen(frontend_path)); libxl__xs_writev(gc, t, backend_path, bents); } @@ -149,7 +149,7 @@ retry_transaction: if (errno == EAGAIN) goto retry_transaction; else { - LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xs transaction failed"); + LOGE(ERROR, "xs transaction failed"); return ERROR_FAIL; } } @@ -168,7 +168,6 @@ static int disk_try_backend(disk_try_backend_args *a, libxl__gc *gc = a->gc; /* returns 0 (ie, DISK_BACKEND_UNKNOWN) on failure, or * backend on success */ - libxl_ctx *ctx = libxl__gc_owner(gc); switch (backend) { case LIBXL_DISK_BACKEND_PHY: @@ -179,7 +178,7 @@ static int disk_try_backend(disk_try_backend_args *a, if (a->disk->backend_domid != LIBXL_TOOLSTACK_DOMID) { LOG(DEBUG, "Disk vdev=%s, is using a storage driver domain, " - "skipping physical device check", a->disk->vdev); + "skipping physical device check", a->disk->vdev); return backend; } @@ -192,24 +191,21 @@ static int disk_try_backend(disk_try_backend_args *a, if (libxl__try_phy_backend(a->stab.st_mode)) return backend; - LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Disk vdev=%s, backend phy" - " unsuitable as phys path not a block device", - a->disk->vdev); + LOG(DEBUG, "Disk vdev=%s, backend phy unsuitable as phys path not a block device", + a->disk->vdev); return 0; case LIBXL_DISK_BACKEND_TAP: if (a->disk->script) goto bad_script; if (a->disk->is_cdrom) { - LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Disk vdev=%s, backend tap" - " unsuitable for cdroms", - a->disk->vdev); + LOG(DEBUG, "Disk vdev=%s, backend tap unsuitable for cdroms", + a->disk->vdev); return 0; } if (!libxl__blktap_enabled(a->gc)) { - LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Disk vdev=%s, backend tap" - " unsuitable because blktap not available", - a->disk->vdev); + LOG(DEBUG, "Disk vdev=%s, backend tap unsuitable because blktap not available", + a->disk->vdev); return 0; } if (!(a->disk->format == LIBXL_DISK_FORMAT_RAW || @@ -223,19 +219,17 @@ static int disk_try_backend(disk_try_backend_args *a, return backend; default: - LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Disk vdev=%s, backend " - " %d unknown", a->disk->vdev, backend); + LOG(DEBUG, "Disk vdev=%s, backend %d unknown", a->disk->vdev, backend); return 0; } abort(); /* notreached */ bad_format: - LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Disk vdev=%s, backend %s" - " unsuitable due to format %s", - a->disk->vdev, - libxl_disk_backend_to_string(backend), - libxl_disk_format_to_string(a->disk->format)); + LOG(DEBUG, "Disk vdev=%s, backend %s unsuitable due to format %s", + a->disk->vdev, + libxl_disk_backend_to_string(backend), + libxl_disk_format_to_string(a->disk->format)); return 0; bad_script: @@ -245,22 +239,19 @@ static int disk_try_backend(disk_try_backend_args *a, } int libxl__device_disk_set_backend(libxl__gc *gc, libxl_device_disk *disk) { - libxl_ctx *ctx = libxl__gc_owner(gc); libxl_disk_backend ok; disk_try_backend_args a; a.gc = gc; a.disk = disk; - LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Disk vdev=%s spec.backend=%s", - disk->vdev, - libxl_disk_backend_to_string(disk->backend)); + LOG(DEBUG, "Disk vdev=%s spec.backend=%s", + disk->vdev, + libxl_disk_backend_to_string(disk->backend)); if (disk->format == LIBXL_DISK_FORMAT_EMPTY) { if (!disk->is_cdrom) { - LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Disk vdev=%s is empty" - " but not cdrom", - disk->vdev); + LOG(ERROR, "Disk vdev=%s is empty but not cdrom", disk->vdev); return ERROR_INVAL; } memset(&a.stab, 0, sizeof(a.stab)); @@ -269,16 +260,14 @@ int libxl__device_disk_set_backend(libxl__gc *gc, libxl_device_disk *disk) { disk->backend_domid == LIBXL_TOOLSTACK_DOMID && !disk->script) { if (stat(disk->pdev_path, &a.stab)) { - LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Disk vdev=%s " - "failed to stat: %s", - disk->vdev, disk->pdev_path); + LOGE(ERROR, "Disk vdev=%s failed to stat: %s", + disk->vdev, disk->pdev_path); return ERROR_INVAL; } if (!S_ISBLK(a.stab.st_mode) & !S_ISREG(a.stab.st_mode)) { - LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Disk vdev=%s " - "phys path is not a block dev or file: %s", - disk->vdev, disk->pdev_path); + LOG(ERROR, "Disk vdev=%s phys path is not a block dev or file: %s", + disk->vdev, disk->pdev_path); return ERROR_INVAL; } } @@ -291,13 +280,12 @@ int libxl__device_disk_set_backend(libxl__gc *gc, libxl_device_disk *disk) { disk_try_backend(&a, LIBXL_DISK_BACKEND_QDISK) ?: disk_try_backend(&a, LIBXL_DISK_BACKEND_TAP); if (ok) - LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Disk vdev=%s, using backend %s", - disk->vdev, - libxl_disk_backend_to_string(ok)); + LOG(DEBUG, "Disk vdev=%s, using backend %s", + disk->vdev, + libxl_disk_backend_to_string(ok)); } if (!ok) { - LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "no suitable backend for disk %s", - disk->vdev); + LOG(ERROR, "no suitable backend for disk %s", disk->vdev); return ERROR_INVAL; } disk->backend = ok; @@ -595,7 +583,6 @@ static void devices_remove_callback(libxl__egc *egc, void libxl__devices_destroy(libxl__egc *egc, libxl__devices_remove_state *drs) { STATE_AO_GC(drs->ao); - libxl_ctx *ctx = libxl__gc_owner(gc); uint32_t domid = drs->domid; char *path; unsigned int num_kinds, num_dev_xsentries; @@ -609,12 +596,11 @@ void libxl__devices_destroy(libxl__egc *egc, libxl__devices_remove_state *drs) libxl__multidev_begin(ao, multidev); multidev->callback = devices_remove_callback; - path = libxl__sprintf(gc, "/local/domain/%d/device", domid); + path = GCSPRINTF("/local/domain/%d/device", domid); kinds = libxl__xs_directory(gc, XBT_NULL, path, &num_kinds); if (!kinds) { if (errno != ENOENT) { - LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "unable to get xenstore" - " device listing %s", path); + LOGE(ERROR, "unable to get xenstore device listing %s", path); goto out; } num_kinds = 0; @@ -623,13 +609,13 @@ void libxl__devices_destroy(libxl__egc *egc, libxl__devices_remove_state *drs) if (libxl__device_kind_from_string(kinds[i], &kind)) continue; - path = libxl__sprintf(gc, "/local/domain/%d/device/%s", domid, kinds[i]); + path = GCSPRINTF("/local/domain/%d/device/%s", domid, kinds[i]); devs = libxl__xs_directory(gc, XBT_NULL, path, &num_dev_xsentries); if (!devs) continue; for (j = 0; j < num_dev_xsentries; j++) { - path = libxl__sprintf(gc, "/local/domain/%d/device/%s/%s/backend", - domid, kinds[i], devs[j]); + path = GCSPRINTF("/local/domain/%d/device/%s/%s/backend", + domid, kinds[i], devs[j]); path = libxl__xs_read(gc, XBT_NULL, path); GCNEW(dev); if (path && libxl__parse_backend_path(gc, path, dev) == 0) { @@ -654,7 +640,7 @@ void libxl__devices_destroy(libxl__egc *egc, libxl__devices_remove_state *drs) } /* console 0 frontend directory is not under /local/domain/<domid>/device */ - path = libxl__sprintf(gc, "/local/domain/%d/console/backend", domid); + path = GCSPRINTF("/local/domain/%d/console/backend", domid); path = libxl__xs_read(gc, XBT_NULL, path); GCNEW(dev); if (path && strcmp(path, "") && @@ -714,7 +700,7 @@ void libxl__wait_device_connection(libxl__egc *egc, libxl__ao_device *aodev) { STATE_AO_GC(aodev->ao); char *be_path = libxl__device_backend_path(gc, aodev->dev); - char *state_path = libxl__sprintf(gc, "%s/state", be_path); + char *state_path = GCSPRINTF("%s/state", be_path); libxl_dominfo info; uint32_t domid = aodev->dev->domid; int rc = 0; @@ -762,7 +748,7 @@ void libxl__initiate_device_remove(libxl__egc *egc, STATE_AO_GC(aodev->ao); xs_transaction_t t = 0; char *be_path = libxl__device_backend_path(gc, aodev->dev); - char *state_path = libxl__sprintf(gc, "%s/state", be_path); + char *state_path = GCSPRINTF("%s/state", be_path); char *online_path = GCSPRINTF("%s/online", be_path); const char *state; libxl_dominfo info; @@ -786,7 +772,7 @@ void libxl__initiate_device_remove(libxl__egc *egc, LIBXL_QEMU_BODGE_TIMEOUT * 1000); if (rc) { LOG(ERROR, "unable to register timeout for Qemu device %s", - be_path); + be_path); goto out; } return; @@ -890,8 +876,8 @@ static void device_backend_callback(libxl__egc *egc, libxl__ev_devstate *ds, if (rc) { LOG(ERROR, "unable to %s device with path %s", - libxl__device_action_to_string(aodev->action), - libxl__device_backend_path(gc, aodev->dev)); + libxl__device_action_to_string(aodev->action), + libxl__device_backend_path(gc, aodev->dev)); goto out; } @@ -941,7 +927,7 @@ static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev) default: /* everything else is an error */ LOG(ERROR, "unable to get args/env to execute hotplug script for " - "device %s", libxl__device_backend_path(gc, aodev->dev)); + "device %s", libxl__device_backend_path(gc, aodev->dev)); rc = hotplug; goto out; } @@ -1087,7 +1073,7 @@ int libxl__wait_for_device_model(libxl__gc *gc, void *check_callback_userdata) { char *path; - path = libxl__sprintf(gc, "/local/domain/0/device-model/%d/state", domid); + path = GCSPRINTF("/local/domain/0/device-model/%d/state", domid); return libxl__wait_for_offspring(gc, domid, LIBXL_DEVICE_MODEL_START_TIMEOUT, "Device Model", path, state, spawning, @@ -1096,22 +1082,20 @@ int libxl__wait_for_device_model(libxl__gc *gc, int libxl__wait_for_backend(libxl__gc *gc, char *be_path, char *state) { - libxl_ctx *ctx = libxl__gc_owner(gc); + libxl_ctx *ctx = CTX; int watchdog = 100; unsigned int len; char *p; - char *path = libxl__sprintf(gc, "%s/state", be_path); + char *path = GCSPRINTF("%s/state", be_path); int rc = -1; while (watchdog > 0) { p = xs_read(ctx->xsh, XBT_NULL, path, &len); if (p == NULL) { if (errno == ENOENT) { - LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Backend %s does not exist", - be_path); + LOG(ERROR, "Backend %s does not exist", be_path); } else { - LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Failed to access backend %s", - be_path); + LOGE(ERROR, "Failed to access backend %s", be_path); } goto out; } else { @@ -1124,7 +1108,7 @@ int libxl__wait_for_backend(libxl__gc *gc, char *be_path, char *state) } } } - LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "Backend %s not ready", be_path); + LOG(ERROR, "Backend %s not ready", be_path); out: return rc; } -- 1.7.9.5 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |