Alon Levy <al...@redhat.com> writes: > Signed-off-by: Alon Levy <al...@redhat.com> > --- > include/char/char.h | 12 ++++++++++++ > qemu-char.c | 7 +++++++ > 2 files changed, 19 insertions(+) > > diff --git a/include/char/char.h b/include/char/char.h > index 0326b2a..0fdcaf9 100644 > --- a/include/char/char.h > +++ b/include/char/char.h > @@ -70,6 +70,7 @@ struct CharDriverState { > void (*chr_set_echo)(struct CharDriverState *chr, bool echo); > void (*chr_guest_open)(struct CharDriverState *chr); > void (*chr_guest_close)(struct CharDriverState *chr); > + void (*chr_post_load)(struct CharDriverState *chr, int > connected);
The character device layer should *not* be messing around with notifying migration state. I thought we previously discussed this? Just implement a migration hook in the spice code. Regards, Anthony Liguori > void *opaque; > int idle_tag; > char *label; > @@ -144,6 +145,17 @@ void qemu_chr_fe_open(struct CharDriverState *chr); > void qemu_chr_fe_close(struct CharDriverState *chr); > > /** > + * @qemu_chr_fe_post_load: > + * > + * Indicate to backend that a migration has just completed. Must be called > when > + * the vm is in the running state. > + * > + * @connected true if frontend is still connected after migration, false > + * otherwise. > + */ > +void qemu_chr_fe_post_load(struct CharDriverState *chr, int connected); > + > +/** > * @qemu_chr_fe_printf: > * > * Write to a character backend using a printf style interface. > diff --git a/qemu-char.c b/qemu-char.c > index 4e011df..42c911f 100644 > --- a/qemu-char.c > +++ b/qemu-char.c > @@ -3390,6 +3390,13 @@ void qemu_chr_fe_open(struct CharDriverState *chr) > } > } > > +void qemu_chr_fe_post_load(struct CharDriverState *chr, int connected) > +{ > + if (chr->chr_post_load) { > + chr->chr_post_load(chr, connected); > + } > +} > + > void qemu_chr_fe_close(struct CharDriverState *chr) > { > if (chr->chr_guest_close) { > -- > 1.8.1.4