- Dec 03, 2009
-
-
Jan Kiszka authored
Report progress of an outgoing live migration to the monitor instead of stdout. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Jan Kiszka authored
In order to allow proper progress reporting to the monitor that initiated the migration, forward the monitor reference through the migration layer down to SaveLiveStateHandler. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Jan Kiszka authored
So far progress reporting only works for the first block device. Fix this by keeping an overall sum of sectors to be migratated, calculating the sum of all processed sectors, and finally basing the progress display on those values. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Jan Kiszka authored
Introduce qemu_savevm_state_cancel and inject a stage -1 to cancel a live migration. This gives the involved subsystems a chance to clean up dynamically allocated resources. Namely, the block migration layer can now free its device descriptors and pending blocks. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Jan Kiszka authored
Besides catching real errors, this also allows to interrrupt the qemu process during restore. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Jan Kiszka authored
Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Jan Kiszka authored
Based on the original patch by Pierre Riteau: Use a common blk_send function to transmit a block. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Jan Kiszka authored
Both functions share a lot of code, so make them one. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Jan Kiszka authored
We already save total_sectors in BlkMigDevState, let's use this value during the migration and avoid to recalculate it needlessly. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Jan Kiszka authored
In case we restart a migration, submitted, read_done, transferred, and print_completion need to be reinitialized to 0. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Jan Kiszka authored
Based on the original patch by Pierre Riteau. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Pierre Riteau authored
Signed-off-by:
Pierre Riteau <Pierre.Riteau@irisa.fr> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Jan Kiszka authored
Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Jan Kiszka authored
No need to push block_mig_state to the heap and, thus, establish an indirection. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Jan Kiszka authored
Move a potentially large buffer from stack to heap. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Jan Kiszka authored
This switches the dirty bitmap to a true bitmap, reducing its footprint (specifically in caches). It moreover fixes off-by-one bugs in set_dirty_bitmap (nb_sectors+1 were marked) and bdrv_get_dirty (limit check allowed one sector behind end of drive). And is drops redundant dirty_tracking field from BlockDriverState. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Jan Kiszka authored
Instead of duplicating the definition of constants or introducing trivial retrieval functions move the SECTOR constants into the public block API. This also obsoletes sector_per_block in BlkMigState. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Jan Kiszka authored
No functional changes. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Jan Kiszka authored
Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Jan Kiszka authored
qemu_fclose frees the passed file structure, but do_migrate_set_speed may access it later on. Fix it by setting file NULL in migrate_fd_cleanup and checking for this. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Juan Quintela authored
Signed-off-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Juan Quintela authored
Now vmstate_unregister have the right type Signed-off-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Juan Quintela authored
Signed-off-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Juan Quintela authored
When the size that we want to transmit is in another field, but in an unit different that bytes Signed-off-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Juan Quintela authored
Signed-off-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Juan Quintela authored
Signed-off-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Juan Quintela authored
Signed-off-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Juan Quintela authored
Signed-off-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Juan Quintela authored
Support for buffer that are pointed by a pointer (i.e. not embedded) where the size that we want to use is a field in the state. We also need a new place to store where to start in the middle of the buffer, as now it is a pointer, not the offset of the 1st field. Signed-off-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Juan Quintela authored
Signed-off-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Jan Kiszka authored
Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Jan Kiszka authored
Seeking on vmstate save/load does not work if the underlying file is a stream. We could try to make all QEMUFile* forward-seek-aware, but first attempts in this direction indicated that it's saner to convert the few qemu_fseek-on-vmstates users to plain reads/writes. This fixes various subtle vmstate corruptions where unused fields were involved. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Laszlo Ast authored
The critical part of this change is how to deal with simultaneaous generation of interrupts. The only (normal) case when this happens in the emulation is near simultaneous reselection + selection. If selection comes first, there is no problem, since the target attempting reselection loses the arbitration (in the emulation it only means that the reselect function will not be started). In the worst case the host adapter is reselected, but the device driver already started a selection, so we jump to the alternative address to handle the situation. The SCRIPTS code can trigger another interrupt to notify the driver that the new task has to be postponed. I suppose that on real hardware there is enough time after the reselection interrupt to set the SIP bit before the next interrupt comes, so it would result in 2 stacked interrupts (a SCSI and a DMA one). However, in the emulation there is no interrupt stacking, so there is a good chance that the 2 interrupts will get to the interrupt handler at the same time. Nevertheless, it should not make a big difference in interrupt handling, since in both cases both interrupts have to be fetched first, and after that the new task (that failed during the selection phase) has to be prepared/reset for a later restart, and the reconnected device has to be serviced. The changes do not modify the host adapter's behavior if this interrupt is not enabled. See also LSI53C895A technical manual, SCID and SIEN0. Signed-off-by:
Laszlo Ast <laszlo.ast@siemens-enterprise.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Laszlo Ast authored
See SCRIPTS, 3.2.17 SELECT. Signed-off-by:
Laszlo Ast <laszlo.ast@siemens-enterprise.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Laszlo Ast authored
See SCRIPTS Programming Guide, 3.2.17 SELECT. Signed-off-by:
Laszlo Ast <laszlo.ast@siemens-enterprise.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Laszlo Ast authored
See SCSI-2, 6.5 Message system description/message codes. Signed-off-by:
Laszlo Ast <laszlo.ast@siemens-enterprise.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Laszlo Ast authored
Signed-off-by:
Laszlo Ast <laszlo.ast@siemens-enterprise.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Laszlo Ast authored
Signed-off-by:
Laszlo Ast <laszlo.ast@siemens-enterprise.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Gerd Hoffmann authored
Add READ_16 + friends to scsi-defs.h, scsi_command_name() and the request parsing helper functions. Use them in scsi-disk.c too. Signed-off-by:
Gerd Hoffmann <kraxel@redhat.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Gerd Hoffmann authored
Move VERIFY emulation from scsi_send_command() to scsi_disk_emulate_command(). Signed-off-by:
Gerd Hoffmann <kraxel@redhat.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-