Re: Testing spice-webdav - problem with spice-webdavd in Windows XP

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The problem was that i was running qemu-1.7.1 without this patch "hook qemu_chr_fe_set_open()":
http://lists.gnu.org/archive/html/qemu-devel/2014-01/msg01239.html

It won't work directly to qemu-1.7.1, this one (attached) should work.

Thanks to Marc-Andre for the support!

On Tue, May 13, 2014 at 5:25 PM, Benjamin Vanheuverzwijn <bvanheu@xxxxxxxxx> wrote:
Hey!

I'm currently trying to share a directory through spice using webdav.

I've followed this guide (http://lists.freedesktop.org/archives/spice-devel/2014-April/016582.html) but i have a problem with my Windows XP SP3 guest.

I've installed this package "http://elmarco.fedorapeople.org/spice-webdavd-x86-0.1.24.msi", but the "spice-webdavd" would not start:

--------------->8---------------
$ net start spice-webdavd
The Spice webdav proxy service is starting.
The Spice webdav proxy service could not be started.

The service did not report an error.

More help is available by typing NET HELPMSG 3534.
--------------->8---------------

I'm not familiar with Windows, so i'm not sure where to look. I'm currently installing mingw to be able to debug.

I use these arguments in QEMU:
-device virtserialport,bus=virtio-serial0.0,nr=4,chardev=charchannel3,id=channel3,name=org.spice-space.webdav.0 -chardev spiceport,name=org.spice-space.webdav.0,id=charchannel3

The device "org.spice-space.webdav.0" appears in my VM (i can see it with winobj.exe from sysinternals).

Anyone encountered the same problem?

Thanks!

--

More info about my setup:

The host running the virtual machines:
Centos 6.5
- QEMU emulator version 1.7.1
- spice-protocol 0.12.6
- spice-server 0.12.4.128-e3da-dirty

The host running the spice client (desktop):
ArchLinux up-to-date
- spicy 0.24
- spice-protocol 0.12.6

The virtual machine
Windows XP SP3 up-to-date
- virtio-win 0.1-52
- QXL 0.1-16
- mingw-vdagent-win 0.7.0

--
Benjamin Vanheuverzwijn



--
Benjamin Vanheuverzwijn
--- a/spice-qemu-char.c	2014-03-25 10:01:10.000000000 -0400
+++ b/spice-qemu-char.c	2014-05-15 11:43:09.439374029 -0400
@@ -213,7 +213,7 @@
     g_free(s);
 }
 
-static void spice_chr_set_fe_open(struct CharDriverState *chr, int fe_open)
+static void spice_vmc_set_fe_open(struct CharDriverState *chr, int fe_open)
 {
     SpiceCharDriver *s = chr->opaque;
     if (fe_open) {
@@ -223,6 +223,19 @@
     }
 }
 
+static void spice_port_set_fe_open(struct CharDriverState *chr, int fe_open)
+{
+#if SPICE_SERVER_VERSION >= 0x000c02
+    SpiceCharDriver *s = chr->opaque;
+
+    if (fe_open) {
+        spice_server_port_event(&s->sin, SPICE_PORT_EVENT_OPENED);
+    } else {
+        spice_server_port_event(&s->sin, SPICE_PORT_EVENT_CLOSED);
+    }
+#endif
+}
+
 static void print_allowed_subtypes(void)
 {
     const char** psubtype;
@@ -240,7 +253,8 @@
     fprintf(stderr, "\n");
 }
 
-static CharDriverState *chr_open(const char *subtype)
+static CharDriverState *chr_open(const char *subtype,
+    void (*set_fe_open)(struct CharDriverState *, int))
 {
     CharDriverState *chr;
     SpiceCharDriver *s;
@@ -254,7 +268,7 @@
     chr->chr_write = spice_chr_write;
     chr->chr_add_watch = spice_chr_add_watch;
     chr->chr_close = spice_chr_close;
-    chr->chr_set_fe_open = spice_chr_set_fe_open;
+    chr->chr_set_fe_open = set_fe_open;
     chr->explicit_be_open = true;
 
     QLIST_INSERT_HEAD(&spice_chars, s, next);
@@ -282,7 +296,7 @@
         return NULL;
     }
 
-    return chr_open(type);
+    return chr_open(type, spice_vmc_set_fe_open);
 }
 
 #if SPICE_SERVER_VERSION >= 0x000c02
@@ -296,7 +310,7 @@
         return NULL;
     }
 
-    chr = chr_open("port");
+    chr = chr_open("port", spice_port_set_fe_open);
     s = chr->opaque;
     s->sin.portname = g_strdup(name);
 
_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]