[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v2 1/2] libxl: convert libxl__sprintf(gc) to GCSPRINTF
The rune used is: sed -i 's/libxl__sprintf(gc,\s*/GCSPRINTF(/g' libxl*.c This rune is simple and better than trying to match every possible patterns. Two instances in libxl_dm.c need fixing up. They are in fact better to just use libxl__strdup. Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx> --- tools/libxl/libxl.c | 194 ++++++++++++++++++++--------------------- tools/libxl/libxl_blktap2.c | 4 +- tools/libxl/libxl_bootloader.c | 10 +-- tools/libxl/libxl_create.c | 42 ++++----- tools/libxl/libxl_dm.c | 104 +++++++++++----------- tools/libxl/libxl_event.c | 2 +- tools/libxl/libxl_internal.c | 4 +- tools/libxl/libxl_pci.c | 124 +++++++++++++------------- tools/libxl/libxl_xshelp.c | 4 +- 9 files changed, 244 insertions(+), 244 deletions(-) diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c index 854e957..3c05e4e 100644 --- a/tools/libxl/libxl.c +++ b/tools/libxl/libxl.c @@ -389,7 +389,7 @@ int libxl__domain_rename(libxl__gc *gc, uint32_t domid, dom_path = libxl__xs_get_dompath(gc, domid); if (!dom_path) goto x_nomem; - name_path= libxl__sprintf(gc, "%s/name", dom_path); + name_path= GCSPRINTF("%s/name", dom_path); if (!name_path) goto x_nomem; stub_dm_domid = libxl_get_stubdom_id(CTX, domid); @@ -557,7 +557,7 @@ int libxl_domain_preserve(libxl_ctx *ctx, uint32_t domid, int rc; - preserved_name = libxl__sprintf(gc, "%s%s", info->name, name_suffix); + preserved_name = GCSPRINTF("%s%s", info->name, name_suffix); if (!preserved_name) { GC_FREE; return ERROR_NOMEM; @@ -575,7 +575,7 @@ int libxl_domain_preserve(libxl_ctx *ctx, uint32_t domid, return ERROR_FAIL; } - vm_path = libxl__sprintf(gc, "/vm/%s", uuid_string); + vm_path = GCSPRINTF("/vm/%s", uuid_string); if (!vm_path) { GC_FREE; return ERROR_FAIL; @@ -593,14 +593,14 @@ int libxl_domain_preserve(libxl_ctx *ctx, uint32_t domid, xs_mkdir(ctx->xsh, t, vm_path); xs_set_permissions(ctx->xsh, t, vm_path, roperm, ARRAY_SIZE(roperm)); - xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/vm", dom_path), vm_path, strlen(vm_path)); + xs_write(ctx->xsh, t, GCSPRINTF("%s/vm", dom_path), vm_path, strlen(vm_path)); rc = libxl__domain_rename(gc, domid, info->name, preserved_name, t); if (rc) { GC_FREE; return rc; } - xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/uuid", vm_path), uuid_string, strlen(uuid_string)); + xs_write(ctx->xsh, t, GCSPRINTF("%s/uuid", vm_path), uuid_string, strlen(uuid_string)); if (!xs_transaction_end(ctx->xsh, t, 0)) if (errno == EAGAIN) @@ -1374,7 +1374,7 @@ static void disk_eject_xswatch_callback(libxl__egc *egc, libxl__ev_xswatch *w, libxl_device_disk *disk = &ev->u.disk_eject.disk; backend = libxl__xs_read(gc, XBT_NULL, - libxl__sprintf(gc, "%.*s/backend", + GCSPRINTF("%.*s/backend", (int)strlen(wpath)-6, wpath)); sscanf(backend, @@ -1393,7 +1393,7 @@ static void disk_eject_xswatch_callback(libxl__egc *egc, libxl__ev_xswatch *w, disk->format = LIBXL_DISK_FORMAT_EMPTY; /* this value is returned to the user: do not free right away */ disk->vdev = xs_read(CTX->xsh, XBT_NULL, - libxl__sprintf(gc, "%s/dev", backend), NULL); + GCSPRINTF("%s/dev", backend), NULL); disk->removable = 1; disk->readwrite = 0; disk->is_cdrom = 1; @@ -1424,7 +1424,7 @@ int libxl_evenable_disk_eject(libxl_ctx *ctx, uint32_t guest_domid, if (!domid) domid = guest_domid; - path = libxl__sprintf(gc, "%s/device/vbd/%d/eject", + path = GCSPRINTF("%s/device/vbd/%d/eject", libxl__xs_get_dompath(gc, domid), libxl__device_disk_dev_number(vdev, NULL, NULL)); if (!path) { rc = ERROR_NOMEM; goto out; } @@ -1622,7 +1622,7 @@ void libxl__destroy_domid(libxl__egc *egc, libxl__destroy_domid_state *dis) dm_present = 0; break; case LIBXL_DOMAIN_TYPE_PV: - pid = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/image/device-model-pid", domid)); + pid = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("/local/domain/%d/image/device-model-pid", domid)); dm_present = (pid != NULL); break; case LIBXL_DOMAIN_TYPE_INVALID: @@ -1684,7 +1684,7 @@ static void devices_destroy_cb(libxl__egc *egc, if (rc < 0) LOG(ERROR, "libxl__devices_destroy failed for %d", domid); - vm_path = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "%s/vm", dom_path)); + vm_path = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/vm", dom_path)); if (vm_path) if (!xs_rm(ctx->xsh, XBT_NULL, vm_path)) LOGE(ERROR, "xs_rm failed for %s", vm_path); @@ -1693,7 +1693,7 @@ static void devices_destroy_cb(libxl__egc *egc, LOGE(ERROR, "xs_rm failed for %s", dom_path); xs_rm(ctx->xsh, XBT_NULL, libxl__xs_libxl_path(gc, domid)); - xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, + xs_rm(ctx->xsh, XBT_NULL, GCSPRINTF( "/local/domain/%d/hvmloader", domid)); /* This is async operation, we already hold CTX lock */ @@ -1786,9 +1786,9 @@ int libxl_console_exec(libxl_ctx *ctx, uint32_t domid, int cons_num, libxl_console_type type) { GC_INIT(ctx); - char *p = libxl__sprintf(gc, "%s/xenconsole", libxl__private_bindir_path()); - char *domid_s = libxl__sprintf(gc, "%d", domid); - char *cons_num_s = libxl__sprintf(gc, "%d", cons_num); + char *p = GCSPRINTF("%s/xenconsole", libxl__private_bindir_path()); + char *domid_s = GCSPRINTF("%d", domid); + char *cons_num_s = GCSPRINTF("%d", cons_num); char *cons_type_s; switch (type) { @@ -1930,7 +1930,7 @@ int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass) }; vnc_port = libxl__xs_read(gc, XBT_NULL, - libxl__sprintf(gc, + GCSPRINTF( "/local/domain/%d/console/vnc-port", domid)); if (!vnc_port) { LOG(ERROR, "Cannot get vnc-port of domain %d", domid); @@ -1940,12 +1940,12 @@ int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass) port = atoi(vnc_port) - 5900; vnc_listen = libxl__xs_read(gc, XBT_NULL, - libxl__sprintf(gc, + GCSPRINTF( "/local/domain/%d/console/vnc-listen", domid)); if ( autopass ) vnc_pass = libxl__xs_read(gc, XBT_NULL, - libxl__sprintf(gc, + GCSPRINTF( "/local/domain/%d/console/vnc-pass", domid)); if ( NULL == vnc_listen ) @@ -1954,7 +1954,7 @@ int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass) if ( (vnc_bin = getenv("VNCVIEWER")) ) args[0] = vnc_bin; - args[1] = libxl__sprintf(gc, "%s:%d", vnc_listen, port); + args[1] = GCSPRINTF("%s:%d", vnc_listen, port); if ( vnc_pass ) { char tmpname[] = "/tmp/vncautopass.XXXXXX"; @@ -2214,7 +2214,7 @@ libxl_device_vtpm *libxl_device_vtpm_list(libxl_ctx *ctx, uint32_t domid, int *n *num = 0; - fe_path = libxl__sprintf(gc, "%s/device/vtpm", libxl__xs_get_dompath(gc, domid)); + fe_path = GCSPRINTF("%s/device/vtpm", libxl__xs_get_dompath(gc, domid)); dir = libxl__xs_directory(gc, XBT_NULL, fe_path, &ndirs); if (dir && ndirs) { vtpms = malloc(sizeof(*vtpms) * ndirs); @@ -2522,7 +2522,7 @@ static void device_disk_add(libxl__egc *egc, uint32_t domid, int major, minor; if (!libxl__device_physdisk_major_minor(dev, &major, &minor)) flexarray_append_pair(back, "physical-device", - libxl__sprintf(gc, "%x:%x", major, minor)); + GCSPRINTF("%x:%x", major, minor)); } assert(device->backend_kind == LIBXL__DEVICE_KIND_VBD); @@ -2540,7 +2540,7 @@ static void device_disk_add(libxl__egc *egc, uint32_t domid, } } flexarray_append(back, "tapdisk-params"); - flexarray_append(back, libxl__sprintf(gc, "%s:%s", + flexarray_append(back, GCSPRINTF("%s:%s", libxl__device_disk_string_of_format(disk->format), disk->pdev_path)); @@ -2552,7 +2552,7 @@ static void device_disk_add(libxl__egc *egc, uint32_t domid, goto do_backend_phy; case LIBXL_DISK_BACKEND_QDISK: flexarray_append(back, "params"); - flexarray_append(back, libxl__sprintf(gc, "%s:%s", + flexarray_append(back, GCSPRINTF("%s:%s", libxl__device_disk_string_of_format(disk->format), disk->pdev_path)); assert(device->backend_kind == LIBXL__DEVICE_KIND_QDISK); break; @@ -2564,13 +2564,13 @@ static void device_disk_add(libxl__egc *egc, uint32_t domid, } flexarray_append(back, "frontend-id"); - flexarray_append(back, libxl__sprintf(gc, "%d", domid)); + flexarray_append(back, GCSPRINTF("%d", domid)); flexarray_append(back, "online"); flexarray_append(back, "1"); flexarray_append(back, "removable"); - flexarray_append(back, libxl__sprintf(gc, "%d", (disk->removable) ? 1 : 0)); + flexarray_append(back, GCSPRINTF("%d", (disk->removable) ? 1 : 0)); flexarray_append(back, "bootable"); - flexarray_append(back, libxl__sprintf(gc, "%d", 1)); + flexarray_append(back, GCSPRINTF("%d", 1)); flexarray_append(back, "state"); flexarray_append(back, GCSPRINTF("%d", XenbusStateInitialising)); flexarray_append(back, "dev"); @@ -2590,11 +2590,11 @@ static void device_disk_add(libxl__egc *egc, uint32_t domid, "1" : "0"); flexarray_append(front, "backend-id"); - flexarray_append(front, libxl__sprintf(gc, "%d", disk->backend_domid)); + flexarray_append(front, GCSPRINTF("%d", disk->backend_domid)); flexarray_append(front, "state"); flexarray_append(front, GCSPRINTF("%d", XenbusStateInitialising)); flexarray_append(front, "virtual-device"); - flexarray_append(front, libxl__sprintf(gc, "%d", device->devid)); + flexarray_append(front, GCSPRINTF("%d", device->devid)); flexarray_append(front, "device-type"); flexarray_append(front, disk->is_cdrom ? "cdrom" : "disk"); @@ -2671,7 +2671,7 @@ static int libxl__device_disk_from_xs_be(libxl__gc *gc, /* "params" may not be present; but everything else must be. */ tmp = xs_read(ctx->xsh, XBT_NULL, - libxl__sprintf(gc, "%s/params", be_path), &len); + GCSPRINTF("%s/params", be_path), &len); if (tmp && strchr(tmp, ':')) { disk->pdev_path = strdup(strchr(tmp, ':') + 1); free(tmp); @@ -2681,7 +2681,7 @@ static int libxl__device_disk_from_xs_be(libxl__gc *gc, tmp = libxl__xs_read(gc, XBT_NULL, - libxl__sprintf(gc, "%s/type", be_path)); + GCSPRINTF("%s/type", be_path)); if (!tmp) { LOG(ERROR, "Missing xenstore node %s/type", be_path); goto cleanup; @@ -2689,7 +2689,7 @@ static int libxl__device_disk_from_xs_be(libxl__gc *gc, libxl_string_to_backend(ctx, tmp, &(disk->backend)); disk->vdev = xs_read(ctx->xsh, XBT_NULL, - libxl__sprintf(gc, "%s/dev", be_path), &len); + GCSPRINTF("%s/dev", be_path), &len); if (!disk->vdev) { LOG(ERROR, "Missing xenstore node %s/dev", be_path); goto cleanup; @@ -2703,7 +2703,7 @@ static int libxl__device_disk_from_xs_be(libxl__gc *gc, } disk->removable = atoi(tmp); - tmp = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "%s/mode", be_path)); + tmp = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/mode", be_path)); if (!tmp) { LOG(ERROR, "Missing xenstore node %s/mode", be_path); goto cleanup; @@ -2714,7 +2714,7 @@ static int libxl__device_disk_from_xs_be(libxl__gc *gc, disk->readwrite = 0; tmp = libxl__xs_read(gc, XBT_NULL, - libxl__sprintf(gc, "%s/device-type", be_path)); + GCSPRINTF("%s/device-type", be_path)); if (!tmp) { LOG(ERROR, "Missing xenstore node %s/device-type", be_path); goto cleanup; @@ -2747,7 +2747,7 @@ int libxl_vdev_to_device_disk(libxl_ctx *ctx, uint32_t domid, goto out; } path = libxl__xs_read(gc, XBT_NULL, - libxl__sprintf(gc, "%s/device/vbd/%d/backend", + GCSPRINTF("%s/device/vbd/%d/backend", dompath, devid)); if (!path) goto out; @@ -2772,7 +2772,7 @@ static int libxl__append_disk_list_of_type(libxl__gc *gc, int rc=0; int initial_disks = *ndisks; - be_path = libxl__sprintf(gc, "%s/backend/%s/%d", + be_path = GCSPRINTF("%s/backend/%s/%d", libxl__xs_get_dompath(gc, 0), type, domid); dir = libxl__xs_directory(gc, XBT_NULL, be_path, &n); if (dir && n) { @@ -2785,7 +2785,7 @@ static int libxl__append_disk_list_of_type(libxl__gc *gc, pdisk_end = *disks + initial_disks + n; for (; pdisk < pdisk_end; pdisk++, dir++) { const char *p; - p = libxl__sprintf(gc, "%s/%s", be_path, *dir); + p = GCSPRINTF("%s/%s", be_path, *dir); if ((rc=libxl__device_disk_from_xs_be(gc, p, pdisk))) goto out; pdisk->backend_domid = 0; @@ -2837,24 +2837,24 @@ int libxl_device_disk_getinfo(libxl_ctx *ctx, uint32_t domid, diskinfo->devid = libxl__device_disk_dev_number(disk->vdev, NULL, NULL); /* tap devices entries in xenstore are written as vbd devices. */ - diskpath = libxl__sprintf(gc, "%s/device/vbd/%d", dompath, diskinfo->devid); + diskpath = GCSPRINTF("%s/device/vbd/%d", dompath, diskinfo->devid); diskinfo->backend = xs_read(ctx->xsh, XBT_NULL, - libxl__sprintf(gc, "%s/backend", diskpath), NULL); + GCSPRINTF("%s/backend", diskpath), NULL); if (!diskinfo->backend) { GC_FREE; return ERROR_FAIL; } - val = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "%s/backend-id", diskpath)); + val = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/backend-id", diskpath)); diskinfo->backend_id = val ? strtoul(val, NULL, 10) : -1; - val = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "%s/state", diskpath)); + val = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/state", diskpath)); diskinfo->state = val ? strtoul(val, NULL, 10) : -1; - val = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "%s/event-channel", diskpath)); + val = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/event-channel", diskpath)); diskinfo->evtch = val ? strtoul(val, NULL, 10) : -1; - val = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "%s/ring-ref", diskpath)); + val = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/ring-ref", diskpath)); diskinfo->rref = val ? strtoul(val, NULL, 10) : -1; diskinfo->frontend = xs_read(ctx->xsh, XBT_NULL, - libxl__sprintf(gc, "%s/frontend", diskinfo->backend), NULL); - val = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "%s/frontend-id", diskinfo->backend)); + GCSPRINTF("%s/frontend", diskinfo->backend), NULL); + val = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/frontend-id", diskinfo->backend)); diskinfo->frontend_id = val ? strtoul(val, NULL, 10) : -1; GC_FREE; @@ -2977,11 +2977,11 @@ int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk, rc = libxl__xs_transaction_start(gc, &t); if (rc) goto out; /* Sanity check: make sure the backend exists before writing here */ - tmp = libxl__xs_read(gc, t, libxl__sprintf(gc, "%s/frontend", path)); + tmp = libxl__xs_read(gc, t, GCSPRINTF("%s/frontend", path)); if (!tmp) { LOG(ERROR, "Internal error: %s does not exist", - libxl__sprintf(gc, "%s/frontend", path)); + GCSPRINTF("%s/frontend", path)); rc = ERROR_FAIL; goto out; } @@ -3009,11 +3009,11 @@ int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk, rc = libxl__xs_transaction_start(gc, &t); if (rc) goto out; /* Sanity check: make sure the backend exists before writing here */ - tmp = libxl__xs_read(gc, t, libxl__sprintf(gc, "%s/frontend", path)); + tmp = libxl__xs_read(gc, t, GCSPRINTF("%s/frontend", path)); if (!tmp) { LOG(ERROR, "Internal error: %s does not exist", - libxl__sprintf(gc, "%s/frontend", path)); + GCSPRINTF("%s/frontend", path)); rc = ERROR_FAIL; goto out; } @@ -3071,7 +3071,7 @@ static char * libxl__alloc_vdev(libxl__gc *gc, void *get_vdev_user, if (devid < 0) return NULL; if (libxl__xs_read(gc, t, - libxl__sprintf(gc, "%s/device/vbd/%d/backend", + GCSPRINTF("%s/device/vbd/%d/backend", dompath, devid)) == NULL) { if (errno == ENOENT) return libxl__devid_to_localdev(gc, devid); @@ -3349,7 +3349,7 @@ void libxl__device_nic_add(libxl__egc *egc, uint32_t domid, if ( rc != 0 ) goto out; flexarray_append(back, "frontend-id"); - flexarray_append(back, libxl__sprintf(gc, "%d", domid)); + flexarray_append(back, GCSPRINTF("%d", domid)); flexarray_append(back, "online"); flexarray_append(back, "1"); flexarray_append(back, "state"); @@ -3365,7 +3365,7 @@ void libxl__device_nic_add(libxl__egc *egc, uint32_t domid, } flexarray_append(back, "mac"); - flexarray_append(back,libxl__sprintf(gc, + flexarray_append(back,GCSPRINTF( LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac))); if (nic->ip) { flexarray_append(back, "ip"); @@ -3378,7 +3378,7 @@ void libxl__device_nic_add(libxl__egc *egc, uint32_t domid, if (nic->rate_interval_usecs > 0) { flexarray_append(back, "rate"); - flexarray_append(back, libxl__sprintf(gc, "%"PRIu64",%"PRIu32"", + flexarray_append(back, GCSPRINTF("%"PRIu64",%"PRIu32"", nic->rate_bytes_per_interval, nic->rate_interval_usecs)); } @@ -3386,19 +3386,19 @@ void libxl__device_nic_add(libxl__egc *egc, uint32_t domid, flexarray_append(back, "bridge"); flexarray_append(back, libxl__strdup(gc, nic->bridge)); flexarray_append(back, "handle"); - flexarray_append(back, libxl__sprintf(gc, "%d", nic->devid)); + flexarray_append(back, GCSPRINTF("%d", nic->devid)); flexarray_append(back, "type"); flexarray_append(back, libxl__strdup(gc, libxl_nic_type_to_string(nic->nictype))); flexarray_append(front, "backend-id"); - flexarray_append(front, libxl__sprintf(gc, "%d", nic->backend_domid)); + flexarray_append(front, GCSPRINTF("%d", nic->backend_domid)); flexarray_append(front, "state"); flexarray_append(front, GCSPRINTF("%d", XenbusStateInitialising)); flexarray_append(front, "handle"); - flexarray_append(front, libxl__sprintf(gc, "%d", nic->devid)); + flexarray_append(front, GCSPRINTF("%d", nic->devid)); flexarray_append(front, "mac"); - flexarray_append(front, libxl__sprintf(gc, + flexarray_append(front, GCSPRINTF( LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac))); if (aodev->update_json) { @@ -3517,7 +3517,7 @@ int libxl_devid_to_device_nic(libxl_ctx *ctx, uint32_t domid, goto out; path = libxl__xs_read(gc, XBT_NULL, - libxl__sprintf(gc, "%s/device/vif/%d/backend", + GCSPRINTF("%s/device/vif/%d/backend", dompath, devid)); if (!path) goto out; @@ -3543,7 +3543,7 @@ static int libxl__append_nic_list_of_type(libxl__gc *gc, libxl_device_nic *pnic = NULL, *pnic_end = NULL; int rc; - be_path = libxl__sprintf(gc, "%s/backend/%s/%d", + be_path = GCSPRINTF("%s/backend/%s/%d", libxl__xs_get_dompath(gc, 0), type, domid); dir = libxl__xs_directory(gc, XBT_NULL, be_path, &n); if (dir && n) { @@ -3556,7 +3556,7 @@ static int libxl__append_nic_list_of_type(libxl__gc *gc, pnic_end = *nics + *nnics + n; for (; pnic < pnic_end; pnic++, dir++) { const char *p; - p = libxl__sprintf(gc, "%s/%s", be_path, *dir); + p = GCSPRINTF("%s/%s", be_path, *dir); rc = libxl__device_nic_from_xs_be(gc, p, pnic); if (rc) goto out; pnic->backend_domid = 0; @@ -3603,26 +3603,26 @@ int libxl_device_nic_getinfo(libxl_ctx *ctx, uint32_t domid, dompath = libxl__xs_get_dompath(gc, domid); nicinfo->devid = nic->devid; - nicpath = libxl__sprintf(gc, "%s/device/vif/%d", dompath, nicinfo->devid); + nicpath = GCSPRINTF("%s/device/vif/%d", dompath, nicinfo->devid); nicinfo->backend = xs_read(ctx->xsh, XBT_NULL, - libxl__sprintf(gc, "%s/backend", nicpath), NULL); + GCSPRINTF("%s/backend", nicpath), NULL); if (!nicinfo->backend) { GC_FREE; return ERROR_FAIL; } - val = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "%s/backend-id", nicpath)); + val = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/backend-id", nicpath)); nicinfo->backend_id = val ? strtoul(val, NULL, 10) : -1; - val = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "%s/state", nicpath)); + val = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/state", nicpath)); nicinfo->state = val ? strtoul(val, NULL, 10) : -1; - val = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "%s/event-channel", nicpath)); + val = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/event-channel", nicpath)); nicinfo->evtch = val ? strtoul(val, NULL, 10) : -1; - val = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "%s/tx-ring-ref", nicpath)); + val = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/tx-ring-ref", nicpath)); nicinfo->rref_tx = val ? strtoul(val, NULL, 10) : -1; - val = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "%s/rx-ring-ref", nicpath)); + val = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/rx-ring-ref", nicpath)); nicinfo->rref_rx = val ? strtoul(val, NULL, 10) : -1; nicinfo->frontend = xs_read(ctx->xsh, XBT_NULL, - libxl__sprintf(gc, "%s/frontend", nicinfo->backend), NULL); - val = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "%s/frontend-id", nicinfo->backend)); + GCSPRINTF("%s/frontend", nicinfo->backend), NULL); + val = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/frontend-id", nicinfo->backend)); nicinfo->frontend_id = val ? strtoul(val, NULL, 10) : -1; GC_FREE; @@ -3676,7 +3676,7 @@ int libxl__device_console_add(libxl__gc *gc, uint32_t domid, device->kind = LIBXL__DEVICE_KIND_CONSOLE; flexarray_append(back, "frontend-id"); - flexarray_append(back, libxl__sprintf(gc, "%d", domid)); + flexarray_append(back, GCSPRINTF("%d", domid)); flexarray_append(back, "online"); flexarray_append(back, "1"); flexarray_append(back, "state"); @@ -3698,10 +3698,10 @@ int libxl__device_console_add(libxl__gc *gc, uint32_t domid, } flexarray_append(front, "backend-id"); - flexarray_append(front, libxl__sprintf(gc, "%d", console->backend_domid)); + flexarray_append(front, GCSPRINTF("%d", console->backend_domid)); flexarray_append(ro_front, "limit"); - flexarray_append(ro_front, libxl__sprintf(gc, "%d", LIBXL_XENCONSOLE_LIMIT)); + flexarray_append(ro_front, GCSPRINTF("%d", LIBXL_XENCONSOLE_LIMIT)); flexarray_append(ro_front, "type"); if (console->consback == LIBXL__CONSOLE_BACKEND_XENCONSOLED) flexarray_append(ro_front, "xenconsoled"); @@ -3714,9 +3714,9 @@ int libxl__device_console_add(libxl__gc *gc, uint32_t domid, if (state) { flexarray_append(ro_front, "port"); - flexarray_append(ro_front, libxl__sprintf(gc, "%"PRIu32, state->console_port)); + flexarray_append(ro_front, GCSPRINTF("%"PRIu32, state->console_port)); flexarray_append(ro_front, "ring-ref"); - flexarray_append(ro_front, libxl__sprintf(gc, "%lu", state->console_mfn)); + flexarray_append(ro_front, GCSPRINTF("%lu", state->console_mfn)); } else { flexarray_append(front, "state"); flexarray_append(front, GCSPRINTF("%d", XenbusStateInitialising)); @@ -3847,7 +3847,7 @@ static int libxl__append_channel_list_of_type(libxl__gc *gc, const char *p, *name; libxl_device_channel *tmp; - p = libxl__sprintf(gc, "%s/%s", fe_path, dir[i]); + p = GCSPRINTF("%s/%s", fe_path, dir[i]); name = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/name", p)); /* 'channels' are consoles with names, so ignore all consoles without names */ @@ -3910,10 +3910,10 @@ int libxl_device_channel_getinfo(libxl_ctx *ctx, uint32_t domid, dompath = libxl__xs_get_dompath(gc, domid); channelinfo->devid = channel->devid; - fe_path = libxl__sprintf(gc, "%s/device/console/%d", dompath, + fe_path = GCSPRINTF("%s/device/console/%d", dompath, channelinfo->devid + 1); channelinfo->backend = xs_read(ctx->xsh, XBT_NULL, - libxl__sprintf(gc, "%s/backend", + GCSPRINTF("%s/backend", fe_path), NULL); if (!channelinfo->backend) { GC_FREE; @@ -4012,14 +4012,14 @@ int libxl__device_vkb_add(libxl__gc *gc, uint32_t domid, if (rc != 0) goto out; flexarray_append(back, "frontend-id"); - flexarray_append(back, libxl__sprintf(gc, "%d", domid)); + flexarray_append(back, GCSPRINTF("%d", domid)); flexarray_append(back, "online"); flexarray_append(back, "1"); flexarray_append(back, "state"); flexarray_append(back, GCSPRINTF("%d", XenbusStateInitialising)); flexarray_append(front, "backend-id"); - flexarray_append(front, libxl__sprintf(gc, "%d", vkb->backend_domid)); + flexarray_append(front, GCSPRINTF("%d", vkb->backend_domid)); flexarray_append(front, "state"); flexarray_append(front, GCSPRINTF("%d", XenbusStateInitialising)); @@ -4110,7 +4110,7 @@ int libxl__device_vfb_add(libxl__gc *gc, uint32_t domid, libxl_device_vfb *vfb) rc = libxl__device_from_vfb(gc, domid, vfb, &device); if (rc != 0) goto out; - flexarray_append_pair(back, "frontend-id", libxl__sprintf(gc, "%d", domid)); + flexarray_append_pair(back, "frontend-id", GCSPRINTF("%d", domid)); flexarray_append_pair(back, "online", "1"); flexarray_append_pair(back, "state", GCSPRINTF("%d", XenbusStateInitialising)); flexarray_append_pair(back, "vnc", @@ -4118,7 +4118,7 @@ int libxl__device_vfb_add(libxl__gc *gc, uint32_t domid, libxl_device_vfb *vfb) flexarray_append_pair(back, "vnclisten", vfb->vnc.listen); flexarray_append_pair(back, "vncpasswd", vfb->vnc.passwd); flexarray_append_pair(back, "vncdisplay", - libxl__sprintf(gc, "%d", vfb->vnc.display)); + GCSPRINTF("%d", vfb->vnc.display)); flexarray_append_pair(back, "vncunused", libxl_defbool_val(vfb->vnc.findunused) ? "1" : "0"); flexarray_append_pair(back, "sdl", @@ -4133,7 +4133,7 @@ int libxl__device_vfb_add(libxl__gc *gc, uint32_t domid, libxl_device_vfb *vfb) } flexarray_append_pair(front, "backend-id", - libxl__sprintf(gc, "%d", vfb->backend_domid)); + GCSPRINTF("%d", vfb->backend_domid)); flexarray_append_pair(front, "state", GCSPRINTF("%d", XenbusStateInitialising)); libxl__device_generic_add(gc, XBT_NULL, &device, @@ -4614,7 +4614,7 @@ int libxl_domain_setmaxmem(libxl_ctx *ctx, uint32_t domid, uint32_t max_memkb) goto out; } - mem = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "%s/memory/target", dompath)); + mem = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/memory/target", dompath)); if (!mem) { LOGE(ERROR, "cannot get memory info from %s/memory/target", dompath); goto out; @@ -4752,7 +4752,7 @@ int libxl_set_memory_target(libxl_ctx *ctx, uint32_t domid, retry_transaction: t = xs_transaction_start(ctx->xsh); - target = libxl__xs_read(gc, t, libxl__sprintf(gc, + target = libxl__xs_read(gc, t, GCSPRINTF( "%s/memory/target", dompath)); if (!target && !domid) { if (!xs_transaction_end(ctx->xsh, t, 1)) @@ -4776,7 +4776,7 @@ retry_transaction: goto out; } } - memmax = libxl__xs_read(gc, t, libxl__sprintf(gc, + memmax = libxl__xs_read(gc, t, GCSPRINTF( "%s/memory/static-max", dompath)); if (!memmax) { LOGE(ERROR, "cannot get memory info from %s/memory/static-max", @@ -4792,7 +4792,7 @@ retry_transaction: goto out; } - videoram_s = libxl__xs_read(gc, t, libxl__sprintf(gc, + videoram_s = libxl__xs_read(gc, t, GCSPRINTF( "%s/memory/videoram", dompath)); videoram = videoram_s ? atoi(videoram_s) : 0; @@ -4845,7 +4845,7 @@ retry_transaction: goto out; } - libxl__xs_write(gc, t, libxl__sprintf(gc, "%s/memory/target", + libxl__xs_write(gc, t, GCSPRINTF("%s/memory/target", dompath), "%"PRIu32, new_target_memkb); rc = xc_domain_getinfolist(ctx->xch, domid, 1, &info); if (rc != 1 || info.domain != domid) { @@ -4856,7 +4856,7 @@ retry_transaction: libxl_dominfo_init(&ptr); xcinfo2xlinfo(ctx, &info, &ptr); uuid = libxl__uuid2string(gc, ptr.uuid); - libxl__xs_write(gc, t, libxl__sprintf(gc, "/vm/%s/memory", uuid), + libxl__xs_write(gc, t, GCSPRINTF("/vm/%s/memory", uuid), "%"PRIu32, new_target_memkb / 1024); libxl_dominfo_dispose(&ptr); @@ -4883,9 +4883,9 @@ static int libxl__get_memory_target(libxl__gc *gc, uint32_t domid, char *dompath = libxl__xs_get_dompath(gc, domid); uint32_t target_memkb, max_memkb; - target = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, + target = libxl__xs_read(gc, XBT_NULL, GCSPRINTF( "%s/memory/target", dompath)); - static_max = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, + static_max = libxl__xs_read(gc, XBT_NULL, GCSPRINTF( "%s/memory/static-max", dompath)); rc = ERROR_FAIL; @@ -5493,7 +5493,7 @@ retry_transaction: t = xs_transaction_start(CTX->xsh); for (i = 0; i <= info->vcpu_max_id; i++) libxl__xs_write(gc, t, - libxl__sprintf(gc, "%s/cpu/%u/availability", dompath, i), + GCSPRINTF("%s/cpu/%u/availability", dompath, i), "%s", libxl_bitmap_test(cpumap, i) ? "online" : "offline"); if (!xs_transaction_end(CTX->xsh, t, 0)) { if (errno == EAGAIN) @@ -5990,7 +5990,7 @@ int libxl_send_sysrq(libxl_ctx *ctx, uint32_t domid, char sysrq) GC_INIT(ctx); char *dompath = libxl__xs_get_dompath(gc, domid); - libxl__xs_write(gc, XBT_NULL, libxl__sprintf(gc, "%s/control/sysrq", dompath), "%c", sysrq); + libxl__xs_write(gc, XBT_NULL, GCSPRINTF("%s/control/sysrq", dompath), "%c", sysrq); GC_FREE; return 0; @@ -6080,9 +6080,9 @@ uint32_t libxl_vm_get_start_time(libxl_ctx *ctx, uint32_t domid) uint32_t ret; vm_path = libxl__xs_read( - gc, XBT_NULL, libxl__sprintf(gc, "%s/vm", dompath)); + gc, XBT_NULL, GCSPRINTF("%s/vm", dompath)); start_time = libxl__xs_read( - gc, XBT_NULL, libxl__sprintf(gc, "%s/start_time", vm_path)); + gc, XBT_NULL, GCSPRINTF("%s/start_time", vm_path)); if (start_time == NULL) { LOGEV(ERROR, -1, "Can't get start time of domain '%d'", domid); ret = -1; @@ -6267,12 +6267,12 @@ int libxl_cpupool_create(libxl_ctx *ctx, const char *name, for (;;) { t = xs_transaction_start(ctx->xsh); - xs_mkdir(ctx->xsh, t, libxl__sprintf(gc, "/local/pool/%d", *poolid)); + xs_mkdir(ctx->xsh, t, GCSPRINTF("/local/pool/%d", *poolid)); libxl__xs_write(gc, t, - libxl__sprintf(gc, "/local/pool/%d/uuid", *poolid), + GCSPRINTF("/local/pool/%d/uuid", *poolid), "%s", uuid_string); libxl__xs_write(gc, t, - libxl__sprintf(gc, "/local/pool/%d/name", *poolid), + GCSPRINTF("/local/pool/%d/name", *poolid), "%s", name); if (xs_transaction_end(ctx->xsh, t, 0) || (errno != EAGAIN)) { @@ -6325,7 +6325,7 @@ int libxl_cpupool_destroy(libxl_ctx *ctx, uint32_t poolid) for (;;) { t = xs_transaction_start(ctx->xsh); - xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc, "/local/pool/%d", poolid)); + xs_rm(ctx->xsh, XBT_NULL, GCSPRINTF("/local/pool/%d", poolid)); if (xs_transaction_end(ctx->xsh, t, 0) || (errno != EAGAIN)) break; @@ -6365,7 +6365,7 @@ int libxl_cpupool_rename(libxl_ctx *ctx, const char *name, uint32_t poolid) t = xs_transaction_start(ctx->xsh); libxl__xs_write(gc, t, - libxl__sprintf(gc, "/local/pool/%d/name", poolid), + GCSPRINTF("/local/pool/%d/name", poolid), "%s", name); if (xs_transaction_end(ctx->xsh, t, 0)) diff --git a/tools/libxl/libxl_blktap2.c b/tools/libxl/libxl_blktap2.c index 2053403..4f5e522 100644 --- a/tools/libxl/libxl_blktap2.c +++ b/tools/libxl/libxl_blktap2.c @@ -35,12 +35,12 @@ char *libxl__blktap_devpath(libxl__gc *gc, type = libxl__device_disk_string_of_format(format); err = tap_ctl_find(type, disk, &tap); if (err == 0) { - devname = libxl__sprintf(gc, "/dev/xen/blktap-2/tapdev%d", tap.minor); + devname = GCSPRINTF("/dev/xen/blktap-2/tapdev%d", tap.minor); if (devname) return devname; } - params = libxl__sprintf(gc, "%s:%s", type, disk); + params = GCSPRINTF("%s:%s", type, disk); err = tap_ctl_create(params, &devname); if (!err) { libxl__ptr_add(gc, devname); diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c index 95dde98..231bba8 100644 --- a/tools/libxl/libxl_bootloader.c +++ b/tools/libxl/libxl_bootloader.c @@ -60,15 +60,15 @@ static void make_bootloader_args(libxl__gc *gc, libxl__bootloader_state *bl, ARG(bootloader_path); if (info->kernel) - ARG(libxl__sprintf(gc, "--kernel=%s", info->kernel)); + ARG(GCSPRINTF("--kernel=%s", info->kernel)); if (info->ramdisk) - ARG(libxl__sprintf(gc, "--ramdisk=%s", info->ramdisk)); + ARG(GCSPRINTF("--ramdisk=%s", info->ramdisk)); if (info->cmdline && *info->cmdline != '\0') - ARG(libxl__sprintf(gc, "--args=%s", info->cmdline)); + ARG(GCSPRINTF("--args=%s", info->cmdline)); - ARG(libxl__sprintf(gc, "--output=%s", bl->outputpath)); + ARG(GCSPRINTF("--output=%s", bl->outputpath)); ARG("--output-format=simple0"); - ARG(libxl__sprintf(gc, "--output-directory=%s", bl->outputdir)); + ARG(GCSPRINTF("--output-directory=%s", bl->outputdir)); if (info->u.pv.bootloader_args) { char **p = info->u.pv.bootloader_args; diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c index f0fee00..8770486 100644 --- a/tools/libxl/libxl_create.c +++ b/tools/libxl/libxl_create.c @@ -421,7 +421,7 @@ int libxl__domain_build(libxl__gc *gc, vments[2] = "image/ostype"; vments[3] = "hvm"; vments[4] = "start_time"; - vments[5] = libxl__sprintf(gc, "%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000); + vments[5] = GCSPRINTF("%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000); localents = libxl__calloc(gc, 9, sizeof(char *)); i = 0; @@ -438,7 +438,7 @@ int libxl__domain_build(libxl__gc *gc, if (max_ram_below_4g <= HVM_BELOW_4G_MMIO_START) { localents[i++] = "platform/mmio_hole_size"; localents[i++] = - libxl__sprintf(gc, "%"PRIu64, + GCSPRINTF("%"PRIu64, info->u.hvm.mmio_hole_memkb << 10); } } @@ -458,7 +458,7 @@ int libxl__domain_build(libxl__gc *gc, vments[i++] = "image/kernel"; vments[i++] = (char *) state->pv_kernel.path; vments[i++] = "start_time"; - vments[i++] = libxl__sprintf(gc, "%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000); + vments[i++] = GCSPRINTF("%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000); if (state->pv_ramdisk.path) { vments[i++] = "image/ramdisk"; vments[i++] = (char *) state->pv_ramdisk.path; @@ -555,7 +555,7 @@ int libxl__domain_make(libxl__gc *gc, libxl_domain_config *d_config, goto out; } - vm_path = libxl__sprintf(gc, "/vm/%s", uuid_string); + vm_path = GCSPRINTF("/vm/%s", uuid_string); if (!vm_path) { LOG(ERROR, "cannot allocate create paths"); rc = ERROR_FAIL; @@ -591,36 +591,36 @@ retry_transaction: xs_rm(ctx->xsh, t, libxl_path); libxl__xs_mkdir(gc, t, libxl_path, noperm, ARRAY_SIZE(noperm)); - xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/vm", dom_path), vm_path, strlen(vm_path)); + xs_write(ctx->xsh, t, GCSPRINTF("%s/vm", dom_path), vm_path, strlen(vm_path)); rc = libxl__domain_rename(gc, *domid, 0, info->name, t); if (rc) goto out; libxl__xs_mkdir(gc, t, - libxl__sprintf(gc, "%s/cpu", dom_path), + GCSPRINTF("%s/cpu", dom_path), roperm, ARRAY_SIZE(roperm)); libxl__xs_mkdir(gc, t, - libxl__sprintf(gc, "%s/memory", dom_path), + GCSPRINTF("%s/memory", dom_path), roperm, ARRAY_SIZE(roperm)); libxl__xs_mkdir(gc, t, - libxl__sprintf(gc, "%s/device", dom_path), + GCSPRINTF("%s/device", dom_path), roperm, ARRAY_SIZE(roperm)); libxl__xs_mkdir(gc, t, - libxl__sprintf(gc, "%s/control", dom_path), + GCSPRINTF("%s/control", dom_path), roperm, ARRAY_SIZE(roperm)); if (info->type == LIBXL_DOMAIN_TYPE_HVM) libxl__xs_mkdir(gc, t, - libxl__sprintf(gc, "%s/hvmloader", dom_path), + GCSPRINTF("%s/hvmloader", dom_path), roperm, ARRAY_SIZE(roperm)); libxl__xs_mkdir(gc, t, - libxl__sprintf(gc, "%s/control/shutdown", dom_path), + GCSPRINTF("%s/control/shutdown", dom_path), rwperm, ARRAY_SIZE(rwperm)); libxl__xs_mkdir(gc, t, - libxl__sprintf(gc, "%s/device/suspend/event-channel", dom_path), + GCSPRINTF("%s/device/suspend/event-channel", dom_path), rwperm, ARRAY_SIZE(rwperm)); libxl__xs_mkdir(gc, t, - libxl__sprintf(gc, "%s/data", dom_path), + GCSPRINTF("%s/data", dom_path), rwperm, ARRAY_SIZE(rwperm)); if (libxl_defbool_val(info->driver_domain)) { @@ -646,14 +646,14 @@ retry_transaction: } libxl_vminfo_list_free(vm_list, nb_vm); - xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/uuid", vm_path), uuid_string, strlen(uuid_string)); - xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/name", vm_path), info->name, strlen(info->name)); + xs_write(ctx->xsh, t, GCSPRINTF("%s/uuid", vm_path), uuid_string, strlen(uuid_string)); + xs_write(ctx->xsh, t, GCSPRINTF("%s/name", vm_path), info->name, strlen(info->name)); libxl__xs_writev(gc, t, dom_path, info->xsdata); - libxl__xs_writev(gc, t, libxl__sprintf(gc, "%s/platform", dom_path), info->platformdata); + libxl__xs_writev(gc, t, GCSPRINTF("%s/platform", dom_path), info->platformdata); - xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/control/platform-feature-multiprocessor-suspend", dom_path), "1", 1); - xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/control/platform-feature-xs_reset_watches", dom_path), "1", 1); + xs_write(ctx->xsh, t, GCSPRINTF("%s/control/platform-feature-multiprocessor-suspend", dom_path), "1", 1); + xs_write(ctx->xsh, t, GCSPRINTF("%s/control/platform-feature-xs_reset_watches", dom_path), "1", 1); if (!xs_transaction_end(ctx->xsh, t, 0)) { if (errno == EAGAIN) { t = 0; @@ -677,7 +677,7 @@ static int store_libxl_entry(libxl__gc *gc, uint32_t domid, char *path = NULL; path = libxl__xs_libxl_path(gc, domid); - path = libxl__sprintf(gc, "%s/dm-version", path); + path = GCSPRINTF("%s/dm-version", path); return libxl__xs_write(gc, XBT_NULL, path, "%s", libxl_device_model_version_to_string(b_info->device_model_version)); } @@ -1081,7 +1081,7 @@ static void domcreate_stream_done(libxl__egc *egc, vments[2] = "image/ostype"; vments[3] = "hvm"; vments[4] = "start_time"; - vments[5] = libxl__sprintf(gc, "%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000); + vments[5] = GCSPRINTF("%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000); break; case LIBXL_DOMAIN_TYPE_PV: vments = libxl__calloc(gc, 11, sizeof(char *)); @@ -1091,7 +1091,7 @@ static void domcreate_stream_done(libxl__egc *egc, vments[i++] = "image/kernel"; vments[i++] = (char *) state->pv_kernel.path; vments[i++] = "start_time"; - vments[i++] = libxl__sprintf(gc, "%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000); + vments[i++] = GCSPRINTF("%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000); if (state->pv_ramdisk.path) { vments[i++] = "image/ramdisk"; vments[i++] = (char *) state->pv_ramdisk.path; diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c index 175accd..ca39f41 100644 --- a/tools/libxl/libxl_dm.c +++ b/tools/libxl/libxl_dm.c @@ -29,13 +29,13 @@ static const char *libxl_tapif_script(libxl__gc *gc) #if defined(__linux__) || defined(__FreeBSD__) return libxl__strdup(gc, "no"); #else - return libxl__sprintf(gc, "%s/qemu-ifup", libxl__xen_script_dir_path()); + return GCSPRINTF("%s/qemu-ifup", libxl__xen_script_dir_path()); #endif } const char *libxl__device_model_savefile(libxl__gc *gc, uint32_t domid) { - return libxl__sprintf(gc, LIBXL_DEVICE_MODEL_SAVE_FILE".%d", domid); + return GCSPRINTF(LIBXL_DEVICE_MODEL_SAVE_FILE".%d", domid); } static const char *qemu_xen_path(libxl__gc *gc) @@ -416,7 +416,7 @@ static int libxl__build_device_model_args_old(libxl__gc *gc, dm_envs = flexarray_make(gc, 16, 1); flexarray_vappend(dm_args, dm, - "-d", libxl__sprintf(gc, "%d", domid), NULL); + "-d", GCSPRINTF("%d", domid), NULL); if (c_info->name) flexarray_vappend(dm_args, "-domain-name", c_info->name, NULL); @@ -442,14 +442,14 @@ static int libxl__build_device_model_args_old(libxl__gc *gc, } vncarg = vnc->listen; } else { - vncarg = libxl__sprintf(gc, "%s:%d", vnc->listen, + vncarg = GCSPRINTF("%s:%d", vnc->listen, vnc->display); } } else - vncarg = libxl__sprintf(gc, "127.0.0.1:%d", vnc->display); + vncarg = GCSPRINTF("127.0.0.1:%d", vnc->display); if (vnc->passwd && vnc->passwd[0]) { - vncarg = libxl__sprintf(gc, "%s,password", vncarg); + vncarg = GCSPRINTF("%s,password", vncarg); } flexarray_append(dm_args, vncarg); @@ -517,7 +517,7 @@ static int libxl__build_device_model_args_old(libxl__gc *gc, if (b_info->video_memkb) { flexarray_vappend(dm_args, "-videoram", - libxl__sprintf(gc, "%d", + GCSPRINTF("%d", libxl__sizekb_to_mb(b_info->video_memkb)), NULL); } @@ -569,19 +569,19 @@ static int libxl__build_device_model_args_old(libxl__gc *gc, } if (b_info->max_vcpus > 1) { flexarray_vappend(dm_args, "-vcpus", - libxl__sprintf(gc, "%d", b_info->max_vcpus), + GCSPRINTF("%d", b_info->max_vcpus), NULL); } nr_set_cpus = libxl_bitmap_count_set(&b_info->avail_vcpus); s = libxl_bitmap_to_hex_string(CTX, &b_info->avail_vcpus); flexarray_vappend(dm_args, "-vcpu_avail", - libxl__sprintf(gc, "%s", s), NULL); + GCSPRINTF("%s", s), NULL); free(s); for (i = 0; i < num_nics; i++) { if (nics[i].nictype == LIBXL_NIC_TYPE_VIF_IOEMU) { - char *smac = libxl__sprintf(gc, + char *smac = GCSPRINTF( LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nics[i].mac)); const char *ifname = libxl__device_nic_devname(gc, domid, nics[i].devid, @@ -683,26 +683,26 @@ static char *dm_spice_options(libxl__gc *gc, return NULL; } } - opt = libxl__sprintf(gc, "port=%d,tls-port=%d", + opt = GCSPRINTF("port=%d,tls-port=%d", spice->port, spice->tls_port); if (spice->host) - opt = libxl__sprintf(gc, "%s,addr=%s", opt, spice->host); + opt = GCSPRINTF("%s,addr=%s", opt, spice->host); if (libxl_defbool_val(spice->disable_ticketing)) - opt = libxl__sprintf(gc, "%s,disable-ticketing", opt); + opt = GCSPRINTF("%s,disable-ticketing", opt); else - opt = libxl__sprintf(gc, "%s,password=%s", opt, spice->passwd); - opt = libxl__sprintf(gc, "%s,agent-mouse=%s", opt, + opt = GCSPRINTF("%s,password=%s", opt, spice->passwd); + opt = GCSPRINTF("%s,agent-mouse=%s", opt, libxl_defbool_val(spice->agent_mouse) ? "on" : "off"); if (!libxl_defbool_val(spice->clipboard_sharing)) - opt = libxl__sprintf(gc, "%s,disable-copy-paste", opt); + opt = GCSPRINTF("%s,disable-copy-paste", opt); if (spice->image_compression) - opt = libxl__sprintf(gc, "%s,image-compression=%s", opt, + opt = GCSPRINTF("%s,image-compression=%s", opt, spice->image_compression); if (spice->streaming_video) - opt = libxl__sprintf(gc, "%s,streaming-video=%s", opt, + opt = GCSPRINTF("%s,streaming-video=%s", opt, spice->streaming_video); return opt; @@ -782,11 +782,11 @@ static int libxl__build_device_model_args_new(libxl__gc *gc, flexarray_vappend(dm_args, dm, "-xen-domid", - libxl__sprintf(gc, "%d", guest_domid), NULL); + GCSPRINTF("%d", guest_domid), NULL); flexarray_append(dm_args, "-chardev"); flexarray_append(dm_args, - libxl__sprintf(gc, "socket,id=libxl-cmd," + GCSPRINTF("socket,id=libxl-cmd," "path=%s/qmp-libxl-%d,server,nowait", libxl__run_dir_path(), guest_domid)); @@ -796,7 +796,7 @@ static int libxl__build_device_model_args_new(libxl__gc *gc, flexarray_append(dm_args, "-chardev"); flexarray_append(dm_args, - libxl__sprintf(gc, "socket,id=libxenstat-cmd," + GCSPRINTF("socket,id=libxenstat-cmd," "path=%s/qmp-libxenstat-%d,server,nowait", libxl__run_dir_path(), guest_domid)); @@ -860,21 +860,21 @@ static int libxl__build_device_model_args_new(libxl__gc *gc, } vncarg = vnc->listen; } else { - vncarg = libxl__sprintf(gc, "%s:%d", vnc->listen, + vncarg = GCSPRINTF("%s:%d", vnc->listen, vnc->display); } } else - vncarg = libxl__sprintf(gc, "127.0.0.1:%d", vnc->display); + vncarg = GCSPRINTF("127.0.0.1:%d", vnc->display); if (vnc->passwd && vnc->passwd[0]) { - vncarg = libxl__sprintf(gc, "%s,password", vncarg); + vncarg = GCSPRINTF("%s,password", vncarg); } if (libxl_defbool_val(vnc->findunused)) { /* This option asks to QEMU to try this number of port before to * give up. So QEMU will try ports between $display and $display + * 99. This option needs to be the last one of the vnc options. */ - vncarg = libxl__sprintf(gc, "%s,to=99", vncarg); + vncarg = GCSPRINTF("%s,to=99", vncarg); } flexarray_append(dm_args, vncarg); @@ -978,7 +978,7 @@ static int libxl__build_device_model_args_new(libxl__gc *gc, if (b_info->u.hvm.boot) { flexarray_vappend(dm_args, "-boot", - libxl__sprintf(gc, "order=%s", b_info->u.hvm.boot), NULL); + GCSPRINTF("order=%s", b_info->u.hvm.boot), NULL); } if (libxl_defbool_val(b_info->u.hvm.usb) || b_info->u.hvm.usbdevice @@ -1029,9 +1029,9 @@ static int libxl__build_device_model_args_new(libxl__gc *gc, if (b_info->u.hvm.spice.usbredirection >= 0 && b_info->u.hvm.spice.usbredirection < 5) { for (i = 1; i <= b_info->u.hvm.spice.usbredirection; i++) - flexarray_vappend(dm_args, "-chardev", libxl__sprintf(gc, + flexarray_vappend(dm_args, "-chardev", GCSPRINTF( "spicevmc,name=usbredir,id=usbrc%d", i), "-device", - libxl__sprintf(gc, "usb-redir,chardev=usbrc%d," + GCSPRINTF("usb-redir,chardev=usbrc%d," "id=usbrc%d", i, i), NULL); } else { LOG(ERROR, "usbredirection parameter is invalid, " @@ -1051,23 +1051,23 @@ static int libxl__build_device_model_args_new(libxl__gc *gc, int nr_set_cpus = 0; nr_set_cpus = libxl_bitmap_count_set(&b_info->avail_vcpus); - flexarray_append(dm_args, libxl__sprintf(gc, "%d,maxcpus=%d", + flexarray_append(dm_args, GCSPRINTF("%d,maxcpus=%d", nr_set_cpus, b_info->max_vcpus)); } else - flexarray_append(dm_args, libxl__sprintf(gc, "%d", + flexarray_append(dm_args, GCSPRINTF("%d", b_info->max_vcpus)); } for (i = 0; i < num_nics; i++) { if (nics[i].nictype == LIBXL_NIC_TYPE_VIF_IOEMU) { - char *smac = libxl__sprintf(gc, + char *smac = GCSPRINTF( LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nics[i].mac)); const char *ifname = libxl__device_nic_devname(gc, guest_domid, nics[i].devid, LIBXL_NIC_TYPE_VIF_IOEMU); flexarray_append(dm_args, "-device"); flexarray_append(dm_args, - libxl__sprintf(gc, "%s,id=nic%d,netdev=net%d,mac=%s", + GCSPRINTF("%s,id=nic%d,netdev=net%d,mac=%s", nics[i].model, nics[i].devid, nics[i].devid, smac)); flexarray_append(dm_args, "-netdev"); @@ -1112,9 +1112,9 @@ static int libxl__build_device_model_args_new(libxl__gc *gc, /* Switching here to the machine "pc" which does not add * the xen-platform device instead of the default "xenfv" machine. */ - machinearg = libxl__sprintf(gc, "pc,accel=xen"); + machinearg = libxl__strdup(gc, "pc,accel=xen"); } else { - machinearg = libxl__sprintf(gc, "xenfv"); + machinearg = libxl__strdup(gc, "xenfv"); } if (b_info->u.hvm.mmio_hole_memkb) { uint64_t max_ram_below_4g = (1ULL << 32) - @@ -1125,7 +1125,7 @@ static int libxl__build_device_model_args_new(libxl__gc *gc, " invalid ignored.\n", b_info->u.hvm.mmio_hole_memkb); } else { - machinearg = libxl__sprintf(gc, "%s,max-ram-below-4g=%"PRIu64, + machinearg = GCSPRINTF("%s,max-ram-below-4g=%"PRIu64, machinearg, max_ram_below_4g); } } @@ -1156,7 +1156,7 @@ static int libxl__build_device_model_args_new(libxl__gc *gc, ram_size = libxl__sizekb_to_mb(b_info->max_memkb - b_info->video_memkb); flexarray_append(dm_args, "-m"); - flexarray_append(dm_args, libxl__sprintf(gc, "%"PRId64, ram_size)); + flexarray_append(dm_args, GCSPRINTF("%"PRId64, ram_size)); if (b_info->type == LIBXL_DOMAIN_TYPE_HVM) { if (b_info->u.hvm.hdtype == LIBXL_HDTYPE_AHCI) @@ -1264,7 +1264,7 @@ static int libxl__build_device_model_args_new(libxl__gc *gc, goto end_search; } - user = libxl__sprintf(gc, "%s%d", LIBXL_QEMU_USER_BASE, guest_domid); + user = GCSPRINTF("%s%d", LIBXL_QEMU_USER_BASE, guest_domid); ret = libxl__dm_runas_helper(gc, user); if (ret < 0) return ret; @@ -1388,7 +1388,7 @@ static int libxl__write_stub_dmargs(libxl__gc *gc, roperm[1].id = dm_domid; roperm[1].perms = XS_PERM_READ; - vm_path = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "/local/domain/%d/vm", guest_domid)); + vm_path = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("/local/domain/%d/vm", guest_domid)); i = 0; dmargs_size = 0; @@ -1407,13 +1407,13 @@ static int libxl__write_stub_dmargs(libxl__gc *gc, } i++; } - path = libxl__sprintf(gc, "%s/image/dmargs", vm_path); + path = GCSPRINTF("%s/image/dmargs", vm_path); retry_transaction: t = xs_transaction_start(ctx->xsh); xs_write(ctx->xsh, t, path, dmargs, strlen(dmargs)); xs_set_permissions(ctx->xsh, t, path, roperm, ARRAY_SIZE(roperm)); - xs_set_permissions(ctx->xsh, t, libxl__sprintf(gc, "%s/rtc/timeoffset", vm_path), roperm, ARRAY_SIZE(roperm)); + xs_set_permissions(ctx->xsh, t, GCSPRINTF("%s/rtc/timeoffset", vm_path), roperm, ARRAY_SIZE(roperm)); if (!xs_transaction_end(ctx->xsh, t, 0)) if (errno == EAGAIN) goto retry_transaction; @@ -1436,7 +1436,7 @@ static void stubdom_xswait_cb(libxl__egc *egc, libxl__xswait_state *xswait, char *libxl__stub_dm_name(libxl__gc *gc, const char *guest_name) { - return libxl__sprintf(gc, "%s-dm", guest_name); + return GCSPRINTF("%s-dm", guest_name); } void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss) @@ -1518,7 +1518,7 @@ void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss) stubdom_state->pv_kernel.path = libxl__abs_path(gc, "ioemu-stubdom.gz", libxl__xenfirmwaredir_path()); - stubdom_state->pv_cmdline = libxl__sprintf(gc, " -d %d", guest_domid); + stubdom_state->pv_cmdline = GCSPRINTF(" -d %d", guest_domid); stubdom_state->pv_ramdisk.path = ""; /* fixme: this function can leak the stubdom if it fails */ @@ -1541,11 +1541,11 @@ void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss) libxl__write_stub_dmargs(gc, dm_domid, guest_domid, args); libxl__xs_write(gc, XBT_NULL, - libxl__sprintf(gc, "%s/image/device-model-domid", + GCSPRINTF("%s/image/device-model-domid", libxl__xs_get_dompath(gc, guest_domid)), "%d", dm_domid); libxl__xs_write(gc, XBT_NULL, - libxl__sprintf(gc, "%s/target", + GCSPRINTF("%s/target", libxl__xs_get_dompath(gc, dm_domid)), "%d", guest_domid); ret = xc_domain_set_target(ctx->xch, dm_domid, guest_domid); @@ -1639,21 +1639,21 @@ static void spawn_stub_launch_dm(libxl__egc *egc, char *filename; char *name; case STUBDOM_CONSOLE_LOGGING: - name = libxl__sprintf(gc, "qemu-dm-%s", + name = GCSPRINTF("qemu-dm-%s", libxl_domid_to_name(ctx, guest_domid)); ret = libxl_create_logfile(ctx, name, &filename); if (ret) goto out; - console[i].output = libxl__sprintf(gc, "file:%s", filename); + console[i].output = GCSPRINTF("file:%s", filename); free(filename); break; case STUBDOM_CONSOLE_SAVE: - console[i].output = libxl__sprintf(gc, "file:%s", + console[i].output = GCSPRINTF("file:%s", libxl__device_model_savefile(gc, guest_domid)); break; case STUBDOM_CONSOLE_RESTORE: if (d_state->saved_state) console[i].output = - libxl__sprintf(gc, "pipe:%s", d_state->saved_state); + GCSPRINTF("pipe:%s", d_state->saved_state); break; default: console[i].output = "pty"; @@ -1822,13 +1822,13 @@ void libxl__spawn_local_dm(libxl__egc *egc, libxl__dm_spawn_state *dmss) if (b_info->type == LIBXL_DOMAIN_TYPE_HVM) { path = xs_get_domain_path(ctx->xsh, domid); libxl__xs_write(gc, XBT_NULL, - libxl__sprintf(gc, "%s/hvmloader/bios", path), + GCSPRINTF("%s/hvmloader/bios", path), "%s", libxl_bios_type_to_string(b_info->u.hvm.bios)); /* Disable relocating memory to make the MMIO hole larger * unless we're running qemu-traditional and vNUMA is not * configured. */ libxl__xs_write(gc, XBT_NULL, - libxl__sprintf(gc, + GCSPRINTF( "%s/hvmloader/allow-memory-relocate", path), "%d", @@ -1843,7 +1843,7 @@ void libxl__spawn_local_dm(libxl__egc *egc, libxl__dm_spawn_state *dmss) if (b_info->type == LIBXL_DOMAIN_TYPE_HVM && b_info->device_model_version == LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL) - libxl__xs_write(gc, XBT_NULL, libxl__sprintf(gc, "%s/disable_pf", path), + libxl__xs_write(gc, XBT_NULL, GCSPRINTF("%s/disable_pf", path), "%d", !libxl_defbool_val(b_info->u.hvm.xen_platform_pci)); logfile_w = libxl__create_qemu_logfile(gc, GCSPRINTF("qemu-dm-%s", @@ -1868,7 +1868,7 @@ void libxl__spawn_local_dm(libxl__egc *egc, libxl__dm_spawn_state *dmss) retry_transaction: /* Find uuid and the write the vnc password to xenstore for qemu. */ t = xs_transaction_start(ctx->xsh); - vm_path = libxl__xs_read(gc,t,libxl__sprintf(gc, "%s/vm", dom_path)); + vm_path = libxl__xs_read(gc,t,GCSPRINTF("%s/vm", dom_path)); if (vm_path) { /* Now write the vncpassword into it. */ pass_stuff = libxl__calloc(gc, 3, sizeof(char *)); diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c index 0df6d6c..139e49a 100644 --- a/tools/libxl/libxl_event.c +++ b/tools/libxl/libxl_event.c @@ -580,7 +580,7 @@ static void watchfd_callback(libxl__egc *egc, libxl__ev_fd *ev, static char *watch_token(libxl__gc *gc, int slotnum, uint32_t counterval) { - return libxl__sprintf(gc, "%d/%"PRIx32, slotnum, counterval); + return GCSPRINTF("%d/%"PRIx32, slotnum, counterval); } static void watches_check_fd_deregister(libxl__gc *gc) diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c index c69d6f9..328046b 100644 --- a/tools/libxl/libxl_internal.c +++ b/tools/libxl/libxl_internal.c @@ -242,7 +242,7 @@ void libxl__log(libxl_ctx *ctx, xentoollog_level msglevel, int errnoval, char *libxl__abs_path(libxl__gc *gc, const char *s, const char *path) { if (s[0] == '/') return libxl__strdup(gc, s); - return libxl__sprintf(gc, "%s/%s", path, s); + return GCSPRINTF("%s/%s", path, s); } @@ -368,7 +368,7 @@ int libxl__device_model_version_running(libxl__gc *gc, uint32_t domid) libxl_device_model_version value; path = libxl__xs_libxl_path(gc, domid); - path = libxl__sprintf(gc, "%s/dm-version", path); + path = GCSPRINTF("%s/dm-version", path); dm_version = libxl__xs_read(gc, XBT_NULL, path); if (!dm_version) { return LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL; diff --git a/tools/libxl/libxl_pci.c b/tools/libxl/libxl_pci.c index fad2eb6..bb49e88 100644 --- a/tools/libxl/libxl_pci.c +++ b/tools/libxl/libxl_pci.c @@ -50,18 +50,18 @@ static int pcidev_struct_fill(libxl_device_pci *pcidev, unsigned int domain, static void libxl_create_pci_backend_device(libxl__gc *gc, flexarray_t *back, int num, libxl_device_pci *pcidev) { - flexarray_append(back, libxl__sprintf(gc, "key-%d", num)); - flexarray_append(back, libxl__sprintf(gc, PCI_BDF, pcidev->domain, pcidev->bus, pcidev->dev, pcidev->func)); - flexarray_append(back, libxl__sprintf(gc, "dev-%d", num)); - flexarray_append(back, libxl__sprintf(gc, PCI_BDF, pcidev->domain, pcidev->bus, pcidev->dev, pcidev->func)); + flexarray_append(back, GCSPRINTF("key-%d", num)); + flexarray_append(back, GCSPRINTF(PCI_BDF, pcidev->domain, pcidev->bus, pcidev->dev, pcidev->func)); + flexarray_append(back, GCSPRINTF("dev-%d", num)); + flexarray_append(back, GCSPRINTF(PCI_BDF, pcidev->domain, pcidev->bus, pcidev->dev, pcidev->func)); if (pcidev->vdevfn) - flexarray_append_pair(back, libxl__sprintf(gc, "vdevfn-%d", num), libxl__sprintf(gc, "%x", pcidev->vdevfn)); - flexarray_append(back, libxl__sprintf(gc, "opts-%d", num)); + flexarray_append_pair(back, GCSPRINTF("vdevfn-%d", num), GCSPRINTF("%x", pcidev->vdevfn)); + flexarray_append(back, GCSPRINTF("opts-%d", num)); flexarray_append(back, - libxl__sprintf(gc, "msitranslate=%d,power_mgmt=%d,permissive=%d", + GCSPRINTF("msitranslate=%d,power_mgmt=%d,permissive=%d", pcidev->msitranslate, pcidev->power_mgmt, pcidev->permissive)); - flexarray_append_pair(back, libxl__sprintf(gc, "state-%d", num), GCSPRINTF("%d", XenbusStateInitialising)); + flexarray_append_pair(back, GCSPRINTF("state-%d", num), GCSPRINTF("%d", XenbusStateInitialising)); } static int libxl__device_from_pcidev(libxl__gc *gc, uint32_t domid, @@ -96,7 +96,7 @@ int libxl__create_pci_backend(libxl__gc *gc, uint32_t domid, /* add pci device */ libxl__device_from_pcidev(gc, domid, pcidev, &device); - flexarray_append_pair(back, "frontend-id", libxl__sprintf(gc, "%d", domid)); + flexarray_append_pair(back, "frontend-id", GCSPRINTF("%d", domid)); flexarray_append_pair(back, "online", "1"); flexarray_append_pair(back, "state", GCSPRINTF("%d", XenbusStateInitialising)); flexarray_append_pair(back, "domain", libxl__domid_to_name(gc, domid)); @@ -104,8 +104,8 @@ int libxl__create_pci_backend(libxl__gc *gc, uint32_t domid, for (i = 0; i < num; i++, pcidev++) libxl_create_pci_backend_device(gc, back, i, pcidev); - flexarray_append_pair(back, "num_devs", libxl__sprintf(gc, "%d", num)); - flexarray_append_pair(front, "backend-id", libxl__sprintf(gc, "%d", 0)); + flexarray_append_pair(back, "num_devs", GCSPRINTF("%d", num)); + flexarray_append_pair(front, "backend-id", GCSPRINTF("%d", 0)); flexarray_append_pair(front, "state", GCSPRINTF("%d", XenbusStateInitialising)); libxl__device_generic_add(gc, XBT_NULL, &device, @@ -132,8 +132,8 @@ static int libxl__device_pci_add_xenstore(libxl__gc *gc, uint32_t domid, libxl_d libxl_device_pci_init(&pcidev_saved); libxl_device_pci_copy(CTX, &pcidev_saved, pcidev); - be_path = libxl__sprintf(gc, "%s/backend/pci/%d/0", libxl__xs_get_dompath(gc, 0), domid); - num_devs = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "%s/num_devs", be_path)); + be_path = GCSPRINTF("%s/backend/pci/%d/0", libxl__xs_get_dompath(gc, 0), domid); + num_devs = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/num_devs", be_path)); if (!num_devs) return libxl__create_pci_backend(gc, domid, pcidev, 1); @@ -151,7 +151,7 @@ static int libxl__device_pci_add_xenstore(libxl__gc *gc, uint32_t domid, libxl_d LOG(DEBUG, "Adding new pci device to xenstore"); num = atoi(num_devs); libxl_create_pci_backend_device(gc, back, num, pcidev); - flexarray_append_pair(back, "num_devs", libxl__sprintf(gc, "%d", num + 1)); + flexarray_append_pair(back, "num_devs", GCSPRINTF("%d", num + 1)); if (!starting) flexarray_append_pair(back, "state", GCSPRINTF("%d", XenbusStateReconfiguring)); @@ -199,8 +199,8 @@ static int libxl__device_pci_remove_xenstore(libxl__gc *gc, uint32_t domid, libx int num, i, j; xs_transaction_t t; - be_path = libxl__sprintf(gc, "%s/backend/pci/%d/0", libxl__xs_get_dompath(gc, 0), domid); - num_devs_path = libxl__sprintf(gc, "%s/num_devs", be_path); + be_path = GCSPRINTF("%s/backend/pci/%d/0", libxl__xs_get_dompath(gc, 0), domid); + num_devs_path = GCSPRINTF("%s/num_devs", be_path); num_devs = libxl__xs_read(gc, XBT_NULL, num_devs_path); if (!num_devs) return ERROR_INVAL; @@ -219,7 +219,7 @@ static int libxl__device_pci_remove_xenstore(libxl__gc *gc, uint32_t domid, libx for (i = 0; i < num; i++) { unsigned int domain = 0, bus = 0, dev = 0, func = 0; - xsdev = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "%s/dev-%d", be_path, i)); + xsdev = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/dev-%d", be_path, i)); sscanf(xsdev, PCI_BDF, &domain, &bus, &dev, &func); if (domain == pcidev->domain && bus == pcidev->bus && pcidev->dev == dev && pcidev->func == func) { @@ -233,8 +233,8 @@ static int libxl__device_pci_remove_xenstore(libxl__gc *gc, uint32_t domid, libx retry_transaction: t = xs_transaction_start(ctx->xsh); - xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/state-%d", be_path, i), GCSPRINTF("%d", XenbusStateClosing), 1); - xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/state", be_path), GCSPRINTF("%d", XenbusStateReconfiguring), 1); + xs_write(ctx->xsh, t, GCSPRINTF("%s/state-%d", be_path, i), GCSPRINTF("%d", XenbusStateClosing), 1); + xs_write(ctx->xsh, t, GCSPRINTF("%s/state", be_path), GCSPRINTF("%d", XenbusStateReconfiguring), 1); if (!xs_transaction_end(ctx->xsh, t, 0)) if (errno == EAGAIN) goto retry_transaction; @@ -248,42 +248,42 @@ retry_transaction: retry_transaction2: t = xs_transaction_start(ctx->xsh); - xs_rm(ctx->xsh, t, libxl__sprintf(gc, "%s/state-%d", be_path, i)); - xs_rm(ctx->xsh, t, libxl__sprintf(gc, "%s/key-%d", be_path, i)); - xs_rm(ctx->xsh, t, libxl__sprintf(gc, "%s/dev-%d", be_path, i)); - xs_rm(ctx->xsh, t, libxl__sprintf(gc, "%s/vdev-%d", be_path, i)); - xs_rm(ctx->xsh, t, libxl__sprintf(gc, "%s/opts-%d", be_path, i)); - xs_rm(ctx->xsh, t, libxl__sprintf(gc, "%s/vdevfn-%d", be_path, i)); + xs_rm(ctx->xsh, t, GCSPRINTF("%s/state-%d", be_path, i)); + xs_rm(ctx->xsh, t, GCSPRINTF("%s/key-%d", be_path, i)); + xs_rm(ctx->xsh, t, GCSPRINTF("%s/dev-%d", be_path, i)); + xs_rm(ctx->xsh, t, GCSPRINTF("%s/vdev-%d", be_path, i)); + xs_rm(ctx->xsh, t, GCSPRINTF("%s/opts-%d", be_path, i)); + xs_rm(ctx->xsh, t, GCSPRINTF("%s/vdevfn-%d", be_path, i)); libxl__xs_write(gc, t, num_devs_path, "%d", num - 1); for (j = i + 1; j < num; j++) { - tmppath = libxl__sprintf(gc, "%s/state-%d", be_path, j); + tmppath = GCSPRINTF("%s/state-%d", be_path, j); tmp = libxl__xs_read(gc, t, tmppath); - xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/state-%d", be_path, j - 1), tmp, strlen(tmp)); + xs_write(ctx->xsh, t, GCSPRINTF("%s/state-%d", be_path, j - 1), tmp, strlen(tmp)); xs_rm(ctx->xsh, t, tmppath); - tmppath = libxl__sprintf(gc, "%s/dev-%d", be_path, j); + tmppath = GCSPRINTF("%s/dev-%d", be_path, j); tmp = libxl__xs_read(gc, t, tmppath); - xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/dev-%d", be_path, j - 1), tmp, strlen(tmp)); + xs_write(ctx->xsh, t, GCSPRINTF("%s/dev-%d", be_path, j - 1), tmp, strlen(tmp)); xs_rm(ctx->xsh, t, tmppath); - tmppath = libxl__sprintf(gc, "%s/key-%d", be_path, j); + tmppath = GCSPRINTF("%s/key-%d", be_path, j); tmp = libxl__xs_read(gc, t, tmppath); - xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/key-%d", be_path, j - 1), tmp, strlen(tmp)); + xs_write(ctx->xsh, t, GCSPRINTF("%s/key-%d", be_path, j - 1), tmp, strlen(tmp)); xs_rm(ctx->xsh, t, tmppath); - tmppath = libxl__sprintf(gc, "%s/vdev-%d", be_path, j); + tmppath = GCSPRINTF("%s/vdev-%d", be_path, j); tmp = libxl__xs_read(gc, t, tmppath); if (tmp) { - xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/vdev-%d", be_path, j - 1), tmp, strlen(tmp)); + xs_write(ctx->xsh, t, GCSPRINTF("%s/vdev-%d", be_path, j - 1), tmp, strlen(tmp)); xs_rm(ctx->xsh, t, tmppath); } - tmppath = libxl__sprintf(gc, "%s/opts-%d", be_path, j); + tmppath = GCSPRINTF("%s/opts-%d", be_path, j); tmp = libxl__xs_read(gc, t, tmppath); if (tmp) { - xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/opts-%d", be_path, j - 1), tmp, strlen(tmp)); + xs_write(ctx->xsh, t, GCSPRINTF("%s/opts-%d", be_path, j - 1), tmp, strlen(tmp)); xs_rm(ctx->xsh, t, tmppath); } - tmppath = libxl__sprintf(gc, "%s/vdevfn-%d", be_path, j); + tmppath = GCSPRINTF("%s/vdevfn-%d", be_path, j); tmp = libxl__xs_read(gc, t, tmppath); if (tmp) { - xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/vdevfn-%d", be_path, j - 1), tmp, strlen(tmp)); + xs_write(ctx->xsh, t, GCSPRINTF("%s/vdevfn-%d", be_path, j - 1), tmp, strlen(tmp)); xs_rm(ctx->xsh, t, tmppath); } } @@ -319,14 +319,14 @@ static int get_all_assigned_devices(libxl__gc *gc, libxl_device_pci **list, int for(i = 0; i < nd; i++) { char *path, *num_devs; - path = libxl__sprintf(gc, "/local/domain/0/backend/pci/%s/0/num_devs", domlist[i]); + path = GCSPRINTF("/local/domain/0/backend/pci/%s/0/num_devs", domlist[i]); num_devs = libxl__xs_read(gc, XBT_NULL, path); if ( num_devs ) { int ndev = atoi(num_devs), j; char *devpath, *bdf; for(j = 0; j < ndev; j++) { - devpath = libxl__sprintf(gc, "/local/domain/0/backend/pci/%s/0/dev-%u", + devpath = GCSPRINTF("/local/domain/0/backend/pci/%s/0/dev-%u", domlist[i], j); bdf = libxl__xs_read(gc, XBT_NULL, devpath); if ( bdf ) { @@ -381,7 +381,7 @@ static int sysfs_write_bdf(libxl__gc *gc, const char * sysfs_path, return ERROR_FAIL; } - buf = libxl__sprintf(gc, PCI_BDF, pcidev->domain, pcidev->bus, + buf = GCSPRINTF(PCI_BDF, pcidev->domain, pcidev->bus, pcidev->dev, pcidev->func); rc = write(fd, buf, strlen(buf)); /* Annoying to have two if's, but we need the errno */ @@ -454,7 +454,7 @@ static int sysfs_dev_unbind(libxl__gc *gc, libxl_device_pci *pcidev, char * spath, *dp = NULL; struct stat st; - spath = libxl__sprintf(gc, SYSFS_PCI_DEV"/"PCI_BDF"/driver", + spath = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/driver", pcidev->domain, pcidev->bus, pcidev->dev, @@ -471,7 +471,7 @@ static int sysfs_dev_unbind(libxl__gc *gc, libxl_device_pci *pcidev, LOG(DEBUG, "Driver re-plug path: %s", dp); /* Unbind from the old driver */ - spath = libxl__sprintf(gc, "%s/unbind", dp); + spath = GCSPRINTF("%s/unbind", dp); if ( sysfs_write_bdf(gc, spath, pcidev) < 0 ) { LOGE(ERROR, "Couldn't unbind device"); return -1; @@ -666,7 +666,7 @@ static int pciback_dev_is_assigned(libxl__gc *gc, libxl_device_pci *pcidev) return -1; } - spath = libxl__sprintf(gc, SYSFS_PCIBACK_DRIVER"/"PCI_BDF, + spath = GCSPRINTF(SYSFS_PCIBACK_DRIVER"/"PCI_BDF, pcidev->domain, pcidev->bus, pcidev->dev, pcidev->func); rc = lstat(spath, &st); @@ -728,7 +728,7 @@ static void pci_assignable_driver_path_write(libxl__gc *gc, { char *path; - path = libxl__sprintf(gc, PCIBACK_INFO_PATH"/"PCI_BDF_XSPATH"/driver_path", + path = GCSPRINTF(PCIBACK_INFO_PATH"/"PCI_BDF_XSPATH"/driver_path", pcidev->domain, pcidev->bus, pcidev->dev, @@ -742,7 +742,7 @@ static char * pci_assignable_driver_path_read(libxl__gc *gc, libxl_device_pci *pcidev) { return libxl__xs_read(gc, XBT_NULL, - libxl__sprintf(gc, + GCSPRINTF( PCIBACK_INFO_PATH "/" PCI_BDF_XSPATH "/driver_path", pcidev->domain, pcidev->bus, @@ -757,7 +757,7 @@ static void pci_assignable_driver_path_remove(libxl__gc *gc, /* Remove the xenstore entry */ xs_rm(ctx->xsh, XBT_NULL, - libxl__sprintf(gc, PCIBACK_INFO_PATH "/" PCI_BDF_XSPATH, + GCSPRINTF(PCIBACK_INFO_PATH "/" PCI_BDF_XSPATH, pcidev->domain, pcidev->bus, pcidev->dev, @@ -780,7 +780,7 @@ static int libxl__device_pci_assignable_add(libxl__gc *gc, func = pcidev->func; /* See if the device exists */ - spath = libxl__sprintf(gc, SYSFS_PCI_DEV"/"PCI_BDF, dom, bus, dev, func); + spath = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF, dom, bus, dev, func); if ( lstat(spath, &st) ) { LOGE(ERROR, "Couldn't lstat %s", spath); return ERROR_FAIL; @@ -851,7 +851,7 @@ static int libxl__device_pci_assignable_remove(libxl__gc *gc, LOG(INFO, "Rebinding to driver at %s", driver_path); if ( sysfs_write_bdf(gc, - libxl__sprintf(gc, "%s/bind", driver_path), + GCSPRINTF("%s/bind", driver_path), pcidev) < 0 ) { LOGE(ERROR, "Couldn't bind device to %s", driver_path); return -1; @@ -926,7 +926,7 @@ static int pci_multifunction_check(libxl__gc *gc, libxl_device_pci *pcidev, unsi if ( pcidev->dev != dev ) continue; - path = libxl__sprintf(gc, "%s/" PCI_BDF, SYSFS_PCIBACK_DRIVER, dom, bus, dev, func); + path = GCSPRINTF("%s/" PCI_BDF, SYSFS_PCIBACK_DRIVER, dom, bus, dev, func); if ( lstat(path, &st) ) { if ( errno == ENOENT ) LOG(ERROR, PCI_BDF " is not assigned to pciback driver", @@ -1031,7 +1031,7 @@ static int do_pci_add(libxl__gc *gc, uint32_t domid, libxl_device_pci *pcidev, i return ERROR_FAIL; } - sysfs_path = libxl__sprintf(gc, SYSFS_PCI_DEV"/"PCI_BDF"/resource", pcidev->domain, + sysfs_path = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/resource", pcidev->domain, pcidev->bus, pcidev->dev, pcidev->func); f = fopen(sysfs_path, "r"); start = end = flags = size = 0; @@ -1071,7 +1071,7 @@ static int do_pci_add(libxl__gc *gc, uint32_t domid, libxl_device_pci *pcidev, i } } fclose(f); - sysfs_path = libxl__sprintf(gc, SYSFS_PCI_DEV"/"PCI_BDF"/irq", pcidev->domain, + sysfs_path = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/irq", pcidev->domain, pcidev->bus, pcidev->dev, pcidev->func); f = fopen(sysfs_path, "r"); if (f == NULL) { @@ -1131,10 +1131,10 @@ static int libxl__device_pci_reset(libxl__gc *gc, unsigned int domain, unsigned char *reset; int fd, rc; - reset = libxl__sprintf(gc, "%s/do_flr", SYSFS_PCIBACK_DRIVER); + reset = GCSPRINTF("%s/do_flr", SYSFS_PCIBACK_DRIVER); fd = open(reset, O_WRONLY); if (fd >= 0) { - char *buf = libxl__sprintf(gc, PCI_BDF, domain, bus, dev, func); + char *buf = GCSPRINTF(PCI_BDF, domain, bus, dev, func); rc = write(fd, buf, strlen(buf)); if (rc < 0) LOG(ERROR, "write to %s returned %d", reset, rc); @@ -1143,7 +1143,7 @@ static int libxl__device_pci_reset(libxl__gc *gc, unsigned int domain, unsigned } if (errno != ENOENT) LOGE(ERROR, "Failed to access pciback path %s", reset); - reset = libxl__sprintf(gc, "%s/"PCI_BDF"/reset", SYSFS_PCI_DEV, domain, bus, dev, func); + reset = GCSPRINTF("%s/"PCI_BDF"/reset", SYSFS_PCI_DEV, domain, bus, dev, func); fd = open(reset, O_WRONLY); if (fd >= 0) { rc = write(fd, "1", 1); @@ -1381,7 +1381,7 @@ static int do_pci_remove(libxl__gc *gc, uint32_t domid, } else { assert(type == LIBXL_DOMAIN_TYPE_PV); - char *sysfs_path = libxl__sprintf(gc, SYSFS_PCI_DEV"/"PCI_BDF"/resource", pcidev->domain, + char *sysfs_path = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/resource", pcidev->domain, pcidev->bus, pcidev->dev, pcidev->func); FILE *f = fopen(sysfs_path, "r"); unsigned int start = 0, end = 0, flags = 0, size = 0; @@ -1417,7 +1417,7 @@ static int do_pci_remove(libxl__gc *gc, uint32_t domid, } fclose(f); skip1: - sysfs_path = libxl__sprintf(gc, SYSFS_PCI_DEV"/"PCI_BDF"/irq", pcidev->domain, + sysfs_path = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/irq", pcidev->domain, pcidev->bus, pcidev->dev, pcidev->func); f = fopen(sysfs_path, "r"); if (f == NULL) { @@ -1533,16 +1533,16 @@ static void libxl__device_pci_from_xs_be(libxl__gc *gc, char *s; unsigned int domain = 0, bus = 0, dev = 0, func = 0, vdevfn = 0; - s = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "%s/dev-%d", be_path, nr)); + s = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/dev-%d", be_path, nr)); sscanf(s, PCI_BDF, &domain, &bus, &dev, &func); - s = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "%s/vdevfn-%d", be_path, nr)); + s = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/vdevfn-%d", be_path, nr)); if (s) vdevfn = strtol(s, (char **) NULL, 16); pcidev_struct_fill(pci, domain, bus, dev, func, vdevfn); - s = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "%s/opts-%d", be_path, nr)); + s = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/opts-%d", be_path, nr)); if (s) { char *saveptr; char *p = strtok_r(s, ",=", &saveptr); @@ -1572,8 +1572,8 @@ libxl_device_pci *libxl_device_pci_list(libxl_ctx *ctx, uint32_t domid, int *num *num = 0; - be_path = libxl__sprintf(gc, "%s/backend/pci/%d/0", libxl__xs_get_dompath(gc, 0), domid); - num_devs = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "%s/num_devs", be_path)); + be_path = GCSPRINTF("%s/backend/pci/%d/0", libxl__xs_get_dompath(gc, 0), domid); + num_devs = libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/num_devs", be_path)); if (!num_devs) goto out; @@ -1625,7 +1625,7 @@ int libxl__grant_vga_iomem_permission(libxl__gc *gc, const uint32_t domid, uint32_t stubdom_domid; libxl_device_pci *pcidev = &d_config->pcidevs[i]; char *pci_device_class_path = - libxl__sprintf(gc, SYSFS_PCI_DEV"/"PCI_BDF"/class", + GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/class", pcidev->domain, pcidev->bus, pcidev->dev, pcidev->func); int read_items; diff --git a/tools/libxl/libxl_xshelp.c b/tools/libxl/libxl_xshelp.c index b0db062..bc60b9a 100644 --- a/tools/libxl/libxl_xshelp.c +++ b/tools/libxl/libxl_xshelp.c @@ -54,7 +54,7 @@ int libxl__xs_writev_perms(libxl__gc *gc, xs_transaction_t t, return 0; for (i = 0; kvs[i] != NULL; i += 2) { - path = libxl__sprintf(gc, "%s/%s", dir, kvs[i]); + path = GCSPRINTF("%s/%s", dir, kvs[i]); if (path && kvs[i + 1]) { int length = strlen(kvs[i + 1]); xs_write(ctx->xsh, t, path, kvs[i + 1], length); @@ -159,7 +159,7 @@ bool libxl__xs_mkdir(libxl__gc *gc, xs_transaction_t t, char *libxl__xs_libxl_path(libxl__gc *gc, uint32_t domid) { - char *s = libxl__sprintf(gc, "/libxl/%i", domid); + char *s = GCSPRINTF("/libxl/%i", domid); if (!s) LOG(ERROR, "cannot allocate create paths"); return s; -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |