qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] Pending Disk I/O requests during live VM migration


From: Kaushik Bhandankar
Subject: [Qemu-devel] Pending Disk I/O requests during live VM migration
Date: Thu, 04 Oct 2007 12:01:40 -0400
User-agent: Thunderbird 1.5.0.13 (X11/20070824)

Hello

I am trying to implement functionality in fully-virtualized xen wherein the responses to the pending disk I/O requests during live VM migration get trasnsferred to the new VMM form the old VMM. Specifically, I am looking at IDE disk (tools/ioemu/hw/ide.c)

Basically, ide.c:pci_ide_save() saves the state of the IDE disk in a QEMUFile and this file is sent over the network (can somebody point me to the code where this happens ??)) so that the new VMM (where the VM has migrated) invokes ide.c:pci_ide_load() to retrieve the IDE Disk contents form the file. As of now, the pending disk I/O requests do not get saved in this file so these pending disk I/O requests are not available when executing pci_ide_load().

I am still trying to figure out where the pending Disk I/O requests get stored in the VMM so that during live VM migration, these requests can be put in the QEMUFile (As mentioned above) so that they can be reissued by the new VMM. Much better would be to send the responses to these pending disk I/O requests from the old to new VMM. Can somebody help me out with this as I am newbie here....??

register_savevm() in ioemu/vl.c is simply used to register the save & load handlers......... register_savevm() is called in ioemu/hw/ide.c:pci_piix_ide_init() to register pci_ide_save() and pci_ide_load() as the save & load handlers for IDE disks....... qemu_savevm() in ioemu/vl.c walks the list of the registered save handlers whereas qemu_loadvm() in vl.c expects a load handler to have been registered for the corresponding save handlers for each chunk of the save file.

Any help in locating the code would be greatly appreciated.

-Kaushik




reply via email to

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