[Spice-devel] [PATCH 34/35] migration: new api

2010-05-12 Thread Gerd Hoffmann
Add new API for migration, based on what RHEL-6 has. --- server/reds.c | 107 ++--- server/spice.h| 12 + server/vd_interface.h |7 --- 3 files changed, 87 insertions(+), 39 deletions(-) diff --git a/server/reds.c b/server/red

[Spice-devel] [PATCH 32/35] zap migration code

2010-05-12 Thread Gerd Hoffmann
Drop all code which depends on accessing the migration file handle. --- server/reds.c | 642 + server/vd_interface.h |7 +- 2 files changed, 11 insertions(+), 638 deletions(-) diff --git a/server/reds.c b/server/reds.c index 0795d90..e4

[Spice-devel] [PATCH 05/35] zap qterm interfaces

2010-05-12 Thread Gerd Hoffmann
old way to handle monitor, obsolete. --- server/reds.c | 688 - server/vd_interface.h | 50 2 files changed, 0 insertions(+), 738 deletions(-) diff --git a/server/reds.c b/server/reds.c index dd8034c..a9767ad 100644 --- a/server/reds

[Spice-devel] [PATCH 35/35] zap MigrationInterface

2010-05-12 Thread Gerd Hoffmann
Remove remaining MigrationInterface bits. --- server/reds.c | 16 server/vd_interface.h | 11 --- 2 files changed, 0 insertions(+), 27 deletions(-) diff --git a/server/reds.c b/server/reds.c index 6275cf0..a09cb0d 100644 --- a/server/reds.c +++ b/server/reds.c

[Spice-devel] [PATCH 11/35] new watch api: switch main channel

2010-05-12 Thread Gerd Hoffmann
--- server/reds.c | 40 +--- 1 files changed, 21 insertions(+), 19 deletions(-) diff --git a/server/reds.c b/server/reds.c index 959e4dd..73d53f3 100644 --- a/server/reds.c +++ b/server/reds.c @@ -364,7 +364,6 @@ typedef struct PingItem { static uint8_t ze

[Spice-devel] [PATCH 31/35] replace worker load/save with loadvm_commands, allow keeping surface content

2010-05-12 Thread Gerd Hoffmann
Add worker->loadvm_commands. qemu will uses this to send a series of commands needed to restore state after savevm/loadvm and migration. That will be one create-surface command per surface and one cursor-set command for the local pointer. The worker->save/load functions are not needed any more. L

[Spice-devel] [PATCH 26/35] SoundInterfaces: redesign

2010-05-12 Thread Gerd Hoffmann
--- server/reds.c | 30 +- server/snd_worker.c | 160 server/snd_worker.h |8 +- server/vd_interface.h | 84 +- 4 files changed, 141 insertions(+), 141 deletions(-) diff --git a/server/reds.c b/s

[Spice-devel] [PATCH 30/35] surface: keep metadata (aka create command) in device memory.

2010-05-12 Thread Gerd Hoffmann
With this patch applied the spice server will not release surface create commands for the whole lifecycle of the surface. When the surface is destroyed both create and destroy commands are released. This has the effect that the surface metadata (size, depth, ...) is kept in qxl device memory. Th

[Spice-devel] [PATCH 24/35] QXL: redesign.

2010-05-12 Thread Gerd Hoffmann
--- server/red_dispatcher.c | 36 ++-- server/red_dispatcher.h |2 +- server/red_worker.c | 38 +++--- server/red_worker.h |2 +- server/reds.c | 20 +++- server/reds.h |5

[Spice-devel] [PATCH 28/35] vdi port: redesign.

2010-05-12 Thread Gerd Hoffmann
Pretty straight forward. One thing we should think about is if and how we are going to deal with multiple ports here? With vdi port using virtio-serial as communication channel to the guest it is easy to have multiple ports, i.e. we might want to use a second instance for clipboard data. That im

[Spice-devel] [PATCH 20/35] VDInterface: redesign.

2010-05-12 Thread Gerd Hoffmann
VDInterface has been renamed to SpiceBaseInterface. Dropped base_version element, shlib versioning should be used instead. Dropped id element, it is passed to spice_server_add_interface() instead. Now SpiceBaseInterface has static information only, multiple interface instances can share it. Adde

[Spice-devel] [PATCH 25/35] TabletInterface: redesign

2010-05-12 Thread Gerd Hoffmann
--- server/reds.c | 41 ++--- server/reds.h |4 server/vd_interface.h | 27 +-- 3 files changed, 47 insertions(+), 25 deletions(-) diff --git a/server/reds.c b/server/reds.c index 62a2cab..24b1507 100644 ---

[Spice-devel] [PATCH 33/35] [debug] migration troubleshooting

2010-05-12 Thread Gerd Hoffmann
--- client/application.cpp |2 +- server/reds.c |2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/client/application.cpp b/client/application.cpp index 4eb8ac8..74f5543 100644 --- a/client/application.cpp +++ b/client/application.cpp @@ -2110,7 +2110,7 @@ void

[Spice-devel] [PATCH 18/35] minor timer interface cleanups.

2010-05-12 Thread Gerd Hoffmann
Make the timer interface largely look like the watch interface. Simliar naming convention for the functions (timer_*) and a opaque SpiceTimer type. --- server/red_tunnel_worker.c |5 ++--- server/reds.c | 40 server/vd_interface.h |

[Spice-devel] [PATCH 22/35] KeyboardInterface: redesign.

2010-05-12 Thread Gerd Hoffmann
This is the direction I wanna take with all interfaces: Clearly separate interface (aka version information and function pointers) and state information. SpiceKbdInterface defines the interface, SpiceKbdInstance maintains per-instance state information. Keyboard hasn't much beside a pointer to S

[Spice-devel] [PATCH 21/35] s/CoreInterface/SpiceCoreInterface/

2010-05-12 Thread Gerd Hoffmann
--- server/red_channel.c |3 ++- server/red_channel.h |5 +++-- server/red_tunnel_worker.c |5 +++-- server/red_tunnel_worker.h |2 +- server/reds.c | 14 -- server/reds.h |2 +- server/spice.h |5 + server

[Spice-devel] [PATCH 16/35] new watch api: switch channels

2010-05-12 Thread Gerd Hoffmann
--- server/red_channel.c | 41 - 1 files changed, 20 insertions(+), 21 deletions(-) diff --git a/server/red_channel.c b/server/red_channel.c index dbfbd42..3f46147 100644 --- a/server/red_channel.c +++ b/server/red_channel.c @@ -28,11 +28,10 @@ #include

[Spice-devel] [PATCH 29/35] kill spice_server_set_mouse_absolute

2010-05-12 Thread Gerd Hoffmann
Not needed. Just register/unregister the tablet interface instead. --- server/reds.c |9 - server/spice.h |2 -- 2 files changed, 0 insertions(+), 11 deletions(-) diff --git a/server/reds.c b/server/reds.c index dac5df0..0795d90 100644 --- a/server/reds.c +++ b/server/reds.c @@

[Spice-devel] [PATCH 23/35] MouseInterface: redesign

2010-05-12 Thread Gerd Hoffmann
--- server/reds.c | 30 -- server/reds.h |4 server/vd_interface.h | 25 - 3 files changed, 40 insertions(+), 19 deletions(-) diff --git a/server/reds.c b/server/reds.c index 61ca267..5c34df7 100644 --- a/server/reds

[Spice-devel] [PATCH 27/35] constify SpiceBaseInterface

2010-05-12 Thread Gerd Hoffmann
--- server/reds.c |4 ++-- server/vd_interface.h |2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/server/reds.c b/server/reds.c index e8fa763..2d03029 100644 --- a/server/reds.c +++ b/server/reds.c @@ -4039,7 +4039,7 @@ static void attach_to_red_agent(VDIPortIn

[Spice-devel] [PATCH 17/35] new watch api: kill old api

2010-05-12 Thread Gerd Hoffmann
--- server/reds.c |2 -- server/vd_interface.h |5 - 2 files changed, 0 insertions(+), 7 deletions(-) diff --git a/server/reds.c b/server/reds.c index 095e644..9feaf4e 100644 --- a/server/reds.c +++ b/server/reds.c @@ -494,8 +494,6 @@ static void __reds_release_link(RedLinkInf

[Spice-devel] [PATCH 15/35] new watch api: switch sound

2010-05-12 Thread Gerd Hoffmann
--- server/snd_worker.c | 32 +--- 1 files changed, 21 insertions(+), 11 deletions(-) diff --git a/server/snd_worker.c b/server/snd_worker.c index 66dc856..d5f5f37 100644 --- a/server/snd_worker.c +++ b/server/snd_worker.c @@ -239,7 +239,8 @@ static void snd_disconne

[Spice-devel] [PATCH 19/35] shlib major

2010-05-12 Thread Gerd Hoffmann
--- configure.ac |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/configure.ac b/configure.ac index 94cd65f..0958b6d 100644 --- a/configure.ac +++ b/configure.ac @@ -26,7 +26,7 @@ AC_PROG_LIBTOOL AM_PROG_CC_C_O AC_C_BIGENDIAN -SPICE_LT_VERSION=m4_format("%d:%d:%d", SPI

[Spice-devel] [PATCH 13/35] new watch api: switch inputs

2010-05-12 Thread Gerd Hoffmann
--- server/reds.c | 50 +- 1 files changed, 25 insertions(+), 25 deletions(-) diff --git a/server/reds.c b/server/reds.c index 138d0f4..d995f78 100644 --- a/server/reds.c +++ b/server/reds.c @@ -2277,31 +2277,31 @@ static void inputs_relase_keys(v

[Spice-devel] [PATCH 14/35] new watch api: switch migration

2010-05-12 Thread Gerd Hoffmann
--- server/reds.c | 59 + 1 files changed, 30 insertions(+), 29 deletions(-) diff --git a/server/reds.c b/server/reds.c index d995f78..095e644 100644 --- a/server/reds.c +++ b/server/reds.c @@ -3246,6 +3246,7 @@ typedef struct RedsMigWrite

[Spice-devel] [PATCH 07/35] fix visibility

2010-05-12 Thread Gerd Hoffmann
--- server/reds.c | 50 ++ server/reds.h |2 ++ 2 files changed, 28 insertions(+), 24 deletions(-) diff --git a/server/reds.c b/server/reds.c index 74da545..d7a8132 100644 --- a/server/reds.c +++ b/server/reds.c @@ -4305,14 +4305,14 @@ static

[Spice-devel] [PATCH 06/35] zap CoreInterface->{term_printf,log}

2010-05-12 Thread Gerd Hoffmann
Was used to print stuff to the qemu monitor. Fundamentally incompatible with QMP. Remove. --- server/reds.c | 48 +--- server/vd_interface.h |4 2 files changed, 5 insertions(+), 47 deletions(-) diff --git a/server/reds.c b/server/re

[Spice-devel] [PATCH 09/35] new watch api: switch listening sockets

2010-05-12 Thread Gerd Hoffmann
--- server/reds.c | 34 -- 1 files changed, 20 insertions(+), 14 deletions(-) diff --git a/server/reds.c b/server/reds.c index d7a8132..89f828d 100644 --- a/server/reds.c +++ b/server/reds.c @@ -245,6 +245,8 @@ typedef struct RedsStatValue { typedef struct RedsS

[Spice-devel] [PATCH 10/35] new watch api: switch liasync read

2010-05-12 Thread Gerd Hoffmann
--- server/reds.c | 24 +++- server/reds.h |1 + 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/server/reds.c b/server/reds.c index 89f828d..959e4dd 100644 --- a/server/reds.c +++ b/server/reds.c @@ -298,7 +298,6 @@ typedef struct AsyncRead { void *

[Spice-devel] [PATCH 12/35] new watch api: switch ssl accept

2010-05-12 Thread Gerd Hoffmann
--- server/reds.c | 24 +++- 1 files changed, 19 insertions(+), 5 deletions(-) diff --git a/server/reds.c b/server/reds.c index 73d53f3..138d0f4 100644 --- a/server/reds.c +++ b/server/reds.c @@ -491,7 +491,12 @@ static int reds_ssl_free(RedsStreamContext *peer) static void

[Spice-devel] [PATCH 08/35] introduce new watch api

2010-05-12 Thread Gerd Hoffmann
This patch adds a new file handle watch interface to libspice, featuring three callbacks: (1) watch_add() -- create a new file watch. (2) watch_update_mask() -- change event mask. spice frequently enables/disables write notification. (3) watch_remove() -- remove

[Spice-devel] [PATCH 02/35] channel security cleanup

2010-05-12 Thread Gerd Hoffmann
- drop spice_channel_name_t enum, use spice-protocol defines instead. - switch spice_server_set_channel_security() channel parameter from enum to string. - drop spice_server_set_default_channel_security(), use spice_server_set_channel_security with channel == NULL instead. --- server/reds.c |

[Spice-devel] [PATCH 01/35] zap spice_parse_args + spice_usage_str

2010-05-12 Thread Gerd Hoffmann
First step to throw out the old interface. --- server/reds.c | 333 server/spice.h |3 - 2 files changed, 0 insertions(+), 336 deletions(-) diff --git a/server/reds.c b/server/reds.c index 866f35a..40b6ad1 100644 --- a/server/reds.c +

[Spice-devel] [PATCH 04/35] zap CoreInterface->(un)register_change_notifiers()

2010-05-12 Thread Gerd Hoffmann
spice_server_add_interface() and spice_server_remove_interface() can be used instead. --- server/reds.c |4 server/vd_interface.h |4 2 files changed, 0 insertions(+), 8 deletions(-) diff --git a/server/reds.c b/server/reds.c index f62a127..dd8034c 100644 --- a/server/re

[Spice-devel] [PATCH 03/35] zap CoreInterface->next()

2010-05-12 Thread Gerd Hoffmann
Interfaces must be registered after spice_server_init(). The "next" callback is used to discover interfaces registered before spice_server_init(). Which is a empty list and thus pretty pointless. Remove it. --- server/reds.c |7 --- server/vd_interface.h |2 -- 2 files change

[Spice-devel] [PATCH 00/35] new libspice-server API patches.

2010-05-12 Thread Gerd Hoffmann
Hi, Ok folks, here is what I have right now for review. The first patches of the patch series has been posted already a while back. Now the remaining issues have been addressed. Well, almost. Client migration is not solved yet. Most of the patches are pretty straight forward. A more carefu