qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v6 04/10] migration: let MigrationState be a qde


From: Max Reitz
Subject: Re: [Qemu-devel] [PATCH v6 04/10] migration: let MigrationState be a qdev
Date: Fri, 30 Jun 2017 14:33:50 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0

On 2017-06-30 09:11, Peter Xu wrote:
> On Fri, Jun 30, 2017 at 11:03:21AM +0800, Peter Xu wrote:
>> On Fri, Jun 30, 2017 at 04:18:56AM +0200, Max Reitz wrote:
>>> On 2017-06-27 06:10, Peter Xu wrote:
>>>> Let the old man "MigrationState" join the object family. Direct benefit
>>>> is that we can start to use all the property features derived from
>>>> current QDev, like: HW_COMPAT_* bits, command line setup for migration
>>>> parameters (so will never need to set them up each time using HMP/QMP,
>>>> this is really, really attractive for test writters), etc.
>>>>
>>>> I see no reason to disallow this happen yet. So let's start from this
>>>> one, to see whether it would be anything good.
>>>>
>>>> Now we init the MigrationState struct statically in main() to make sure
>>>> it's initialized after global properties are applied, since we'll use
>>>> them during creation of the object.
>>>>
>>>> No functional change at all.
>>>
>>> Evidently not quite right because this breaks iotest 055.
>>>
>>> Condensed test case:
>>>
>>> $ ./qemu-img create -f vmdk -o subformat=streamOptimized foo.vmdk 64M
>>> Formatting 'foo.vmdk', fmt=vmdk size=67108864 compat6=off
>>> hwversion=undefined subformat=streamOptimized
>>> $ x86_64-softmmu/qemu-system-x86_64 -drive if=none,file=foo.vmdk
>>> qemu-system-x86_64: ./migration/migration.c:114: migrate_get_current:
>>> Assertion `current_migration' failed.
>>> [1]    15453 abort (core dumped)  x86_64-softmmu/qemu-system-x86_64
>>> -drive if=none,file=foo.vmdk
>>>
>>> (It just worked before this patch.)
>>
>> Sorry. Will have a look.
> 
> Hello, Max,
> 
> The assertion is caused by migrate_add_blocker() called before
> initialization of migration object. I'll fix it.

Thanks!

> But even with a fix (so I can pass 055 now), I still cannot pass some
> of the other tests. Errors I got:
> 
>   https://pastebin.com/ACqbXAYd
> 
> I am not familiar with iotests. Is above usual? Looks like it still
> includes 3 failures, and some output mismatch.

Well, not usual. But 068 just is broken on master currently (Stefan has
sent "virtio: use ioeventfd in TCG and qtest mode" to fix it, and it's
part of his latest pull request). The failure in test 087 is because you
don't have aio=native enabled in your build, as the message says. :-)

I'm not sure about 118. Maybe the os.chmod() doesn't work as intended on
your machine...? Because it tries to open a read-only image as
read/write and wants to see it fail (which it doesn't in your case).

Max

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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