After the xenbus ring initialization we issue a directory query
for the list of virtual block devices attached to the current
guest. The answer is displayed in the console.
Signed-off-by: Daniel Castro <evil.dani@xxxxxxxxx>
---
src/xen-xs.c | 10 +++++++++-
src/xen-xs.h | 1 +
2 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/src/xen-xs.c b/src/xen-xs.c
index d4b6b26..1173ce2 100644
--- a/src/xen-xs.c
+++ b/src/xen-xs.c
@@ -36,7 +36,7 @@ static struct xenstore_domain_interface *rings; /* Shared
ring with dom0 */
static evtchn_port_t event; /* Event-channel to dom0 */
static char payload[XENSTORE_PAYLOAD_MAX + 1]; /* Unmarshalling area */
-
+void test_xenstore(void);
/*
* Connect our xenbus client to the backend.
* Call once, before any other xenbus actions.
@@ -62,6 +62,7 @@ void xenbus_setup(void)
event = param.value;
dprintf(1,"Xenbus rings @0x%lx, event channel %lu\n",
(unsigned long) rings, (unsigned long) event);
+ test_xenstore();
}
/*
@@ -241,3 +242,10 @@ char * xenstore_directory(char *path, u32 *ans_len){
/* We know xenbus_send() nul-terminates its answer, so just pass it on.
*/
return answer;
}
+
+void test_xenstore(void){
+ char path[11] = {'d','e','v','i','c','e','/','v','b','d','\0'};
+ u32 ans_len;
+ char * res = xenstore_directory(path,&ans_len);
+ dprintf(1,"length: %d strlen: %d vdb-id: %s
.\n",ans_len,strlen(res),res);
+}
diff --git a/src/xen-xs.h b/src/xen-xs.h
index 91e8da0..6957031 100644
--- a/src/xen-xs.h
+++ b/src/xen-xs.h
@@ -4,5 +4,6 @@
void xenbus_setup(void);
char * xenstore_read(char *path);
char * xenstore_directory(char *path, u32 *ans_len);
+void test_xenstore(void);
#endif
--
1.7.4.1
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|