[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH 0/5] Migration subsections (and ide as example)
From: |
Juan Quintela |
Subject: |
[Qemu-devel] Re: [PATCH 0/5] Migration subsections (and ide as example) |
Date: |
Tue, 15 Jun 2010 16:19:14 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) |
Anthony Liguori <address@hidden> wrote:
> On 06/15/2010 08:31 AM, Juan Quintela wrote:
>> Hi
>>
>> At the end, here is the migration subsections implementation. As an example
>> I ported the last
>> two ide changes to migration to work with subsections. Notes:
>>
>> - subsections
>> I went for qemu_peek_byte() insteadof adding a subsection part in
>> qemu_loadvm_state() due to two reasons:
>> - it makes mandatory that subsections came after sections (better for
>> error messages)
>> - it makes post_load() for the section to be run after subsections are
>> loaded.
>> I think that running section post_load() and then subsections can make
>> for some subtle
>> errors.
>> How does it works?
>> We have a new array of subsections at the end of each section (it can be
>> NULL).
>> Each subsection is composed of VMStateDescription and a test function.
>> test function
>> checks if subsection is needed or not. if needed, it is just emmited.
>> On load, we peek to see if after a section is loaded, if there is any
>> subsection
>> at the end, and if so, we search for it on this section subsections.
>>
>>
>> - ide: 1st revert is not clear because there has been posterior changes that
>> I honored.
>> only change done is that ide_dummy_transfer_stop to transfer_end_table
>> for it to be
>> complete.
>>
>> - testing. In normal operation this code is not triggered (one of the
>> reason for not wanting to
>> sent it in the 1st place). I used patch attached at the end to trigger
>> it.
>>
>> Commetnts?
>>
>
> Obviously, we can't change IDE like this but the implementation looks
> pretty sane.
Why? nothing has been released with 0.12.[34], and that is what broke
migration in the 1st place.
> Can you add something to docs/ that explains how this
> works? My only concern is that the code doesn't make it obvious what
> a subsection is, when to use it, and why it's safe from an
> implementation perspective.
Agreed, wanted to see if I got some comments 1st.
Will resend tomorrow with some documentantion.
> Very nice solution though.
Thanks.
Later, Juan.
- [Qemu-devel] [PATCH 2/5] Revert "ide save/restore current transfer fields", (continued)
- [Qemu-devel] [PATCH 2/5] Revert "ide save/restore current transfer fields", Juan Quintela, 2010/06/15
- [Qemu-devel] [PATCH 3/5] vmstate: add subsections code, Juan Quintela, 2010/06/15
- [Qemu-devel] [PATCH 1/5] Revert "ide save/restore pio/atapi cmd transfer fields and io buffer", Juan Quintela, 2010/06/15
- [Qemu-devel] [PATCH 5/5] ide: fix migration in the middle of a bmdma transfer, Juan Quintela, 2010/06/15
- Re: [Qemu-devel] [PATCH 0/5] Migration subsections (and ide as example), Anthony Liguori, 2010/06/15
- [Qemu-devel] Re: [PATCH 0/5] Migration subsections (and ide as example),
Juan Quintela <=