qemu-block
[Top][All Lists]
Advanced

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

Re: [Qemu-block] [Qemu-devel] coroutines: block: Co-routine re-entered r


From: Stefan Hajnoczi
Subject: Re: [Qemu-block] [Qemu-devel] coroutines: block: Co-routine re-entered recursively when migrating disk with iothreads
Date: Thu, 9 Jun 2016 08:35:34 +0100

On Wed, Jun 8, 2016 at 5:03 PM, Paolo Bonzini <address@hidden> wrote:
> On 08/06/2016 17:30, Stefan Hajnoczi wrote:
>> This needs to be fixed.  I believe Paolo has a patch to continue using
>> dataplane during savevm but that's a workaround rather than a solution
>> to this problem.
>
> That is already in.  Dataplane during migration has been enabled since
> we've gotten rid of vring.

You're right.  This means the problem isn't that dataplane disables
itself during the live migration phase.

The issue occurs because the mirror block job has finished syncing but
is still alive when vmsave happens:

static void virtio_blk_save(QEMUFile *f, void *opaque)
{
    VirtIODevice *vdev = VIRTIO_DEVICE(opaque);
    VirtIOBlock *s = VIRTIO_BLK(vdev);

    if (s->dataplane) {
        virtio_blk_data_plane_stop(s->dataplane);
    }

    virtio_save(vdev, f);
}

We reach the situation I described where BDS AioContext changes but
mirror_run() is still in the IOThread AioContext.

Stefan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]