[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4] vhost: Don't abort when vhost-user connectio
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [PATCH v4] vhost: Don't abort when vhost-user connection is lost during migration |
Date: |
Wed, 6 Dec 2017 18:34:38 +0200 |
On Wed, Dec 06, 2017 at 09:30:27PM +0800, Ying Fang wrote:
>
> On 2017/12/1 22:39, Michael S. Tsirkin wrote:
> > On Fri, Dec 01, 2017 at 01:58:32PM +0800, fangying wrote:
> >> QEMU will abort when vhost-user process is restarted during migration
> >> when vhost_log_global_start/stop is called. The reason is clear that
> >> vhost_dev_set_log returns -1 because network connection is lost.
> >>
> >> To handle this situation, let's cancel migration by setting migrate
> >> state to failure and report it to user.
> >
> > In fact I don't see this as the right way to fix it. Backend is dead so why
> > not just proceed with migration? We just need to make sure we re-send
> > migration data on re-connect.
> > This is where vhost start/stop migration dirty log. The original code aborts
> qemu here beacuse vhost data stream may break down if we fail to start/stop
> vhost dirty log during migration. Backend may be active after
> vhost_log_global_start.
>
> dirty log start ----------------- dirty log stop
> ^ ^
> | |
> ----- backend dead ----- backend active
I'm sorry, I don't understand yet. Backend is active after logging started -
why is this a problem?
> Currently we don't re-send migration data on re-connect in this situation.
> May we should work it out.
So basically backend connects after logging started, and we
do not tell it to start logging and where - is that the issue?
I agree, that would be a bug then.
--
MST