aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libxen/test
diff options
context:
space:
mode:
authorEwan Mellor <ewan@xensource.com>2006-10-28 12:04:08 +0100
committerEwan Mellor <ewan@xensource.com>2006-10-28 12:04:08 +0100
commite9a8f0e261c4685854f49b5ad8503c45729b96e5 (patch)
treec80df78f64011d79a6050e193431db9e032f7113 /tools/libxen/test
parent55923ae0588185c6f5adb8a6dfa9e771a8eb62e8 (diff)
downloadxen-e9a8f0e261c4685854f49b5ad8503c45729b96e5.tar.gz
xen-e9a8f0e261c4685854f49b5ad8503c45729b96e5.tar.bz2
xen-e9a8f0e261c4685854f49b5ad8503c45729b96e5.zip
The get_by_name_label functions return a set, not a singleton, because names
are not guaranteed to be unique. Signed-off-by: Ewan Mellor <ewan@xensource.com>
Diffstat (limited to 'tools/libxen/test')
-rw-r--r--tools/libxen/test/test_bindings.c31
1 files changed, 20 insertions, 11 deletions
diff --git a/tools/libxen/test/test_bindings.c b/tools/libxen/test/test_bindings.c
index 5468c6bb62..0c47305a09 100644
--- a/tools/libxen/test/test_bindings.c
+++ b/tools/libxen/test/test_bindings.c
@@ -1,5 +1,5 @@
/*
- Copyright (c) 2006 XenSource, Inc.
+ * Copyright (c) 2006 XenSource, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -14,7 +14,7 @@
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*/
+ */
#define _GNU_SOURCE
#include <inttypes.h>
@@ -320,8 +320,9 @@ static void create_new_vm(xen_session *session)
/*
* Create a new disk for the new VM.
*/
- xen_sr sr;
- if (!xen_sr_get_by_name_label(session, &sr, "Local"))
+ xen_sr_set *srs;
+ if (!xen_sr_get_by_name_label(session, &srs, "Local") ||
+ srs->size < 1)
{
fprintf(stderr, "SR lookup failed.\n");
print_error(session);
@@ -331,7 +332,7 @@ static void create_new_vm(xen_session *session)
xen_sr_record_opt sr_record =
{
- .u.handle = sr
+ .u.handle = srs->contents[0]
};
xen_vdi_record vdi0_record =
{
@@ -351,16 +352,24 @@ static void create_new_vm(xen_session *session)
fprintf(stderr, "VDI creation failed.\n");
print_error(session);
- xen_sr_free(sr);
+ xen_sr_set_free(srs);
xen_vm_free(vm);
return;
}
+ xen_vm_record_opt vm_record_opt =
+ {
+ .u.handle = vm
+ };
+ xen_vdi_record_opt vdi0_record_opt =
+ {
+ .u.handle = vdi0
+ };
xen_vbd_record vbd0_record =
{
- .vm = vm,
- .vdi = vdi0,
+ .vm = &vm_record_opt,
+ .vdi = &vdi0_record_opt,
.device = "sda1",
.mode = XEN_VBD_MODE_RW,
.driver = XEN_DRIVER_TYPE_PARAVIRTUALISED
@@ -373,7 +382,7 @@ static void create_new_vm(xen_session *session)
print_error(session);
xen_vdi_free(vdi0);
- xen_sr_free(sr);
+ xen_sr_set_free(srs);
xen_vm_free(vm);
return;
}
@@ -396,7 +405,7 @@ static void create_new_vm(xen_session *session)
xen_uuid_free(vbd0_uuid);
xen_vbd_free(vbd0);
xen_vdi_free(vdi0);
- xen_sr_free(sr);
+ xen_sr_set_free(srs);
xen_vm_free(vm);
return;
}
@@ -410,6 +419,6 @@ static void create_new_vm(xen_session *session)
xen_uuid_free(vbd0_uuid);
xen_vbd_free(vbd0);
xen_vdi_free(vdi0);
- xen_sr_free(sr);
+ xen_sr_set_free(srs);
xen_vm_free(vm);
}