diff options
author | Ewan Mellor <ewan@xensource.com> | 2006-10-28 12:04:08 +0100 |
---|---|---|
committer | Ewan Mellor <ewan@xensource.com> | 2006-10-28 12:04:08 +0100 |
commit | e9a8f0e261c4685854f49b5ad8503c45729b96e5 (patch) | |
tree | c80df78f64011d79a6050e193431db9e032f7113 /tools/libxen/test | |
parent | 55923ae0588185c6f5adb8a6dfa9e771a8eb62e8 (diff) | |
download | xen-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.c | 31 |
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); } |