Stumbled across a problem trying to list domains with libvirt-0.1.5.
Using virsh I get errors such as
xen81:/tests/jim # virsh list
Id Name State
----------------------------------
0 Domain-0 running
libvir: Xen Daemon error : GET operation failed: No such domain 16
xm shows
xen81:/tests/jim # xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 2048 4 r----- 815825.8
vm1 1 512 2 -b---- 0.3
I found that the buffer provided for XEN_V1_OP_GETDOMAININFOLIST
hypercall differs slightly from the buffer in xen/dom0_ops.h.
Attached is a patch against current cvs that works for me, but I'm not
familiar with this part of the code so not sure if this is the proper fix.
I'm using xen 3.0.2 that shipped with SLES10.
Regards,
Jim
Index: xen_internal.c
===================================================================
RCS file: /data/cvs/libvirt/src/xen_internal.c,v
retrieving revision 1.39
diff -u -r1.39 xen_internal.c
--- xen_internal.c 5 Sep 2006 06:48:44 -0000 1.39
+++ xen_internal.c 13 Sep 2006 19:36:25 -0000
@@ -90,7 +90,7 @@
uint32_t flags; /* falgs, see before */
uint64_t tot_pages; /* total number of pages used */
uint64_t max_pages; /* maximum number of pages allowed */
- uint64_t shared_info_frame; /* MFN of shared_info struct */
+ unsigned long shared_info_frame; /* MFN of shared_info struct */
uint64_t cpu_time; /* CPU time used */
uint32_t nr_online_vcpus; /* Number of VCPUs currently online. */
uint32_t max_vcpu_id; /* Maximum VCPUID in use by this domain. */