The problem was that i was running qemu-1.7.1 without this patch "hook qemu_chr_fe_set_open()":
--
Benjamin Vanheuverzwijn
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-webdavdThe 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=charchannel3The 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-dirtyThe host running the spice client (desktop):ArchLinux up-to-date- spicy 0.24- spice-protocol 0.12.6The virtual machineWindows 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