Il 03/10/2013 06:03, Lei Li ha scritto: >>> > > Hi Paolo, > > When debugging the code, I realized that this problem might still > exist. In the incoming part, it will qemu_fopen_pipe() in > unix_accept_incoming_migration first to enable the load_hook > callback, the check action of this RAM_SAVE_FLAG_HOOK flags would > lead to 8 bytes taken. Turns out, it will break normal unix > migration (without unix-page-flipping), because no matter normal unix > migration or unix-page-flipping migration, the incoming side has to > check this 8-byes flags first to decide whether the load_hook is > called, and normal unix migration did not send this 8-byte flags.
Why is the load_hook callback being called at all without page flipping? Without page flipping, the before_iterate and save_page hook will return immediately (or depending on your code they may never be called), so the RAM_SAVE_FLAG_HOOK will never be written to the Unix socket. > I wonder if I didn't understand your suggestion correctly? Perhaps you want to discuss this tomorrow morning on #qemu? Paolo