Anthony Liguori <anth...@codemonkey.ws> 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.