mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
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@citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com>
This commit is contained in:
1 parent
0a627988c1
commit
91cee732e3
9 files changed
+244
-244
No files matched your search
+97
-97
@@ -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";
|
||||
@@ -2213,7 +2213,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);
|
||||
@@ -2521,7 +2521,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);
|
||||
@@ -2539,7 +2539,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));
|
||||
|
||||
@@ -2551,7 +2551,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;
|
||||
@@ -2563,13 +2563,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");
|
||||
@@ -2589,11 +2589,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");
|
||||
|
||||
@@ -2670,7 +2670,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);
|
||||
@@ -2680,7 +2680,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;
|
||||
@@ -2688,7 +2688,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;
|
||||
@@ -2702,7 +2702,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;
|
||||
@@ -2713,7 +2713,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;
|
||||
@@ -2746,7 +2746,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;
|
||||
@@ -2771,7 +2771,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) {
|
||||
@@ -2784,7 +2784,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;
|
||||
@@ -2836,24 +2836,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;
|
||||
@@ -2976,11 +2976,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;
|
||||
}
|
||||
@@ -3008,11 +3008,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;
|
||||
}
|
||||
@@ -3070,7 +3070,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);
|
||||
@@ -3348,7 +3348,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");
|
||||
@@ -3364,7 +3364,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");
|
||||
@@ -3377,7 +3377,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));
|
||||
}
|
||||
@@ -3385,19 +3385,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) {
|
||||
@@ -3516,7 +3516,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;
|
||||
@@ -3542,7 +3542,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) {
|
||||
@@ -3555,7 +3555,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;
|
||||
@@ -3602,26 +3602,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;
|
||||
@@ -3675,7 +3675,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");
|
||||
@@ -3697,10 +3697,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");
|
||||
@@ -3713,9 +3713,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));
|
||||
@@ -3846,7 +3846,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 */
|
||||
@@ -3909,10 +3909,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;
|
||||
@@ -4011,14 +4011,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));
|
||||
|
||||
@@ -4109,7 +4109,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",
|
||||
@@ -4117,7 +4117,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",
|
||||
@@ -4132,7 +4132,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,
|
||||
@@ -4613,7 +4613,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;
|
||||
@@ -4751,7 +4751,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))
|
||||
@@ -4775,7 +4775,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",
|
||||
@@ -4791,7 +4791,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;
|
||||
|
||||
@@ -4844,7 +4844,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) {
|
||||
@@ -4855,7 +4855,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);
|
||||
|
||||
@@ -4882,9 +4882,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;
|
||||
@@ -5492,7 +5492,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)
|
||||
@@ -5989,7 +5989,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;
|
||||
@@ -6079,9 +6079,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;
|
||||
@@ -6266,12 +6266,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)) {
|
||||
@@ -6324,7 +6324,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;
|
||||
@@ -6364,7 +6364,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))
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
+21
-21
@@ -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;
|
||||
|
||||
+52
-52
@@ -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 *));
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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;
|
||||
|
||||
+62
-62
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||