aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2012-03-01 12:26:14 +0000
committerIan Campbell <ian.campbell@citrix.com>2012-03-01 12:26:14 +0000
commitb5f5a358b5368ed6e1f20ab61ee4634b0791811d (patch)
tree0d6727ff678edbd0a670a5aba6ba0a9a0231d0de /tools
parent8100d0b3cd4bd289c11961c2f6c93b87a23b86fb (diff)
downloadxen-b5f5a358b5368ed6e1f20ab61ee4634b0791811d.tar.gz
xen-b5f5a358b5368ed6e1f20ab61ee4634b0791811d.tar.bz2
xen-b5f5a358b5368ed6e1f20ab61ee4634b0791811d.zip
libxl: disk: use _init/_setdefault
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/libxl/libxl.c24
-rw-r--r--tools/libxl/libxl.h2
-rw-r--r--tools/libxl/libxl_create.c2
-rw-r--r--tools/libxl/libxl_internal.h2
-rw-r--r--tools/libxl/xl_cmdimpl.c2
5 files changed, 20 insertions, 12 deletions
diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index e6870879b0..40f79e27ff 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1186,10 +1186,19 @@ int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass)
/******************************************************************************/
-int libxl_device_disk_init(libxl_ctx *ctx, libxl_device_disk *disk)
+void libxl_device_disk_init(libxl_device_disk *disk)
{
memset(disk, 0x00, sizeof(libxl_device_disk));
- return 0;
+}
+
+int libxl__device_disk_setdefault(libxl__gc *gc, libxl_device_disk *disk)
+{
+ int rc;
+
+ rc = libxl__device_disk_set_backend(gc, disk);
+ if (rc) return rc;
+
+ return rc;
}
static int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
@@ -1241,10 +1250,7 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis
libxl__device device;
int major, minor, rc;
- rc = libxl__device_disk_set_backend(gc, disk);
- if (rc) goto out;
-
- rc = libxl__device_disk_set_backend(gc, disk);
+ rc = libxl__device_disk_setdefault(gc, disk);
if (rc) goto out;
front = flexarray_make(16, 1);
@@ -1396,7 +1402,7 @@ static void libxl__device_disk_from_xs_be(libxl__gc *gc,
unsigned int len;
char *tmp;
- libxl_device_disk_init(ctx, disk);
+ libxl_device_disk_init(disk);
tmp = xs_read(ctx->xsh, XBT_NULL,
libxl__sprintf(gc, "%s/params", be_path), &len);
@@ -1440,7 +1446,7 @@ int libxl_devid_to_device_disk(libxl_ctx *ctx, uint32_t domid,
char *dompath, *path;
int rc = ERROR_FAIL;
- libxl_device_disk_init(ctx, disk);
+ libxl_device_disk_init(disk);
dompath = libxl__xs_get_dompath(gc, domid);
if (!dompath) {
@@ -1604,7 +1610,7 @@ char * libxl_device_disk_local_attach(libxl_ctx *ctx, libxl_device_disk *disk)
char *ret = NULL;
int rc;
- rc = libxl__device_disk_set_backend(gc, disk);
+ rc = libxl__device_disk_setdefault(gc, disk);
if (rc) goto out;
switch (disk->backend) {
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index b11ce6515c..770d3bbea1 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -498,7 +498,7 @@ void libxl_vminfo_list_free(libxl_vminfo *list, int nr);
*/
/* Disks */
-int libxl_device_disk_init(libxl_ctx *ctx, libxl_device_disk *disk);
+void libxl_device_disk_init(libxl_device_disk *disk);
int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk);
int libxl_device_disk_remove(libxl_ctx *ctx, uint32_t domid,
libxl_device_disk *disk,
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 9c984b7f0f..28335125f6 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -536,7 +536,7 @@ static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
if (ret) goto error_out;
for (i = 0; i < d_config->num_disks; i++) {
- ret = libxl__device_disk_set_backend(gc, &d_config->disks[i]);
+ ret = libxl__device_disk_setdefault(gc, &d_config->disks[i]);
if (ret) goto error_out;
}
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 81e309c3a3..590047eb2e 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -191,6 +191,8 @@ _hidden int libxl__domain_create_info_setdefault(libxl__gc *gc,
libxl_domain_create_info *c_info);
_hidden int libxl__domain_build_info_setdefault(libxl__gc *gc,
libxl_domain_build_info *b_info);
+_hidden int libxl__device_disk_setdefault(libxl__gc *gc,
+ libxl_device_disk *disk);
struct libxl__evgen_domain_death {
uint32_t domid;
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 094bbe89b9..70810eb335 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -382,7 +382,7 @@ static void parse_disk_config_multistring(XLU_Config **config,
{
int e;
- libxl_device_disk_init(ctx, disk);
+ libxl_device_disk_init(disk);
if (!*config) {
*config = xlu_cfg_init(stderr, "command line");